diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4d29575..0000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/README.md b/README.md deleted file mode 100644 index 58beeac..0000000 --- a/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Getting Started with Create React App - -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. - -The page will reload when you make changes.\ -You may also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! - -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `npm run build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/asset-manifest.json b/asset-manifest.json new file mode 100644 index 0000000..1bb2311 --- /dev/null +++ b/asset-manifest.json @@ -0,0 +1,39 @@ +{ + "files": { + "main.css": "/react-games.github.io/static/css/main.35b704d0.css", + "main.js": "/react-games.github.io/static/js/main.fb972fea.js", + "static/media/main-hero.jpeg": "/react-games.github.io/static/media/main-hero.133aaf53617b5959adbb.jpeg", + "static/media/hero-photo.jpg": "/react-games.github.io/static/media/hero-photo.5ade524b4309e05ae7fd.jpg", + "static/media/epicgamesStore.svg": "/react-games.github.io/static/media/epicgamesStore.c1ee1895a44786d1d2415ac91593adc1.svg", + "static/media/itchIoStore.svg": "/react-games.github.io/static/media/itchIoStore.dfbce58f4f1d5461465f0cfa2d2921c1.svg", + "static/media/gogStore.svg": "/react-games.github.io/static/media/gogStore.9067292da7a1d81d759307a6b3645d0a.svg", + "static/media/appleStore.svg": "/react-games.github.io/static/media/appleStore.b69b9b60bd15f85106e0437aaffc0dc7.svg", + "static/media/android.svg": "/react-games.github.io/static/media/android.ef4997b7782caa544f442954df607657.svg", + "static/media/xboxStore.svg": "/react-games.github.io/static/media/xboxStore.cf883a72b8f5f821fc37de8052ae8f0e.svg", + "static/media/steamStore.svg": "/react-games.github.io/static/media/steamStore.3c8772cba59a2474d8b2b75bd6d15c1e.svg", + "static/media/xbox.svg": "/react-games.github.io/static/media/xbox.73ae45c0cec2e50a903d3ab1f821f069.svg", + "static/media/psStore.svg": "/react-games.github.io/static/media/psStore.ee3230058629052169a37b6e07ae02ee.svg", + "static/media/column-icon.svg": "/react-games.github.io/static/media/column-icon.861759b622b62040559d.svg", + "index.html": "/react-games.github.io/index.html", + "static/media/ios.svg": "/react-games.github.io/static/media/ios.1be1267a0da8e718fb07e270e018e43f.svg", + "static/media/list-icon.svg": "/react-games.github.io/static/media/list-icon.125c97e70366470e91d3.svg", + "static/media/googlePlayStore.svg": "/react-games.github.io/static/media/googlePlayStore.63328e0af3b93c01c76943aa28c68198.svg", + "static/media/errorIcon.svg": "/react-games.github.io/static/media/errorIcon.f0af6c6f720c03461084.svg", + "static/media/playstation.svg": "/react-games.github.io/static/media/playstation.ecb9f256bdbf6e0d2914b23c25096282.svg", + "static/media/search.svg": "/react-games.github.io/static/media/search.c800c77628d90b1efa10.svg", + "static/media/search-black.svg": "/react-games.github.io/static/media/search-black.9f81706b2945e3f4b04b.svg", + "static/media/added-dev.svg": "/react-games.github.io/static/media/added-dev.3861ae1dbaaa92774c25.svg", + "static/media/modal-close.svg": "/react-games.github.io/static/media/modal-close.f556d441d89f2bfca4f99daaf847d978.svg", + "static/media/close-button.svg": "/react-games.github.io/static/media/close-button.587771c20e9ec1093ee6.svg", + "static/media/nintendoStore.svg": "/react-games.github.io/static/media/nintendoStore.76701a975fc1e33c6c6c075724584241.svg", + "static/media/nintendo.svg": "/react-games.github.io/static/media/nintendo.04fcc2fb82e356e8eabdf981c94862d3.svg", + "static/media/windows.svg": "/react-games.github.io/static/media/windows.1eb2ae366b46e9c7cd72873a6650ecca.svg", + "static/media/add_white_24dp.svg": "/react-games.github.io/static/media/add_white_24dp.197a2501aa3068d097db4c47c4d5803e.svg", + "main.35b704d0.css.map": "/react-games.github.io/static/css/main.35b704d0.css.map", + "main.fb972fea.js.map": "/react-games.github.io/static/js/main.fb972fea.js.map" + }, + "entrypoints": [ + "static/css/main.35b704d0.css", + "static/js/main.fb972fea.js" + ] +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..3e1ac78 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/react-games.github.io/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/react-games.github.io/logo192.png"/><link rel="manifest" href="/react-games.github.io/manifest.json"/><title>React App</title><script defer="defer" src="/react-games.github.io/static/js/main.fb972fea.js"></script><link href="/react-games.github.io/static/css/main.35b704d0.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html> \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index ddc7d39..0000000 --- a/package-lock.json +++ /dev/null @@ -1,30652 +0,0 @@ -{ - "name": "react-games", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "react-games", - "version": "0.1.0", - "dependencies": { - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "axios": "^1.3.4", - "dompurify": "^3.0.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-image-gallery": "^1.2.11", - "react-lazy-load-image-component": "^1.5.6", - "react-loader-spinner": "^5.3.4", - "react-router-dom": "^6.8.2", - "react-scripts": "5.0.1", - "react-select": "^5.7.0", - "sass": "^1.58.3", - "swiper": "^9.1.0", - "uuid": "^9.0.0", - "web-vitals": "^2.1.4" - }, - "devDependencies": { - "gh-pages": "^5.0.0" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz", - "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==" - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", - "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", - "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.0", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.0", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.0", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/eslint-parser": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", - "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", - "dependencies": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/@babel/eslint-parser/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==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", - "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", - "dependencies": { - "@babel/types": "^7.21.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", - "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", - "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", - "dependencies": { - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dependencies": { - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", - "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", - "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", - "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "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-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", - "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-flow": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", - "dependencies": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", - "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz", - "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz", - "integrity": "sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "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-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz", - "integrity": "sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-transform-typescript": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", - "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", - "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "node_modules/@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", - "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", - "engines": { - "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4", - "postcss-selector-parser": "^6.0.10" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", - "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "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.1.3" - } - }, - "node_modules/@emotion/babel-plugin/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emotion/babel-plugin/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", - "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", - "dependencies": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", - "dependencies": { - "@emotion/memoize": "^0.8.0" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "node_modules/@emotion/react": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", - "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.6", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "dependencies": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "node_modules/@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "node_modules/@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", - "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.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": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/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==" - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/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==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", - "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.2.tgz", - "integrity": "sha512-FaO9KVLFnxknZaGWGmNtjD2CVFuc0u4yeGEofoyXO2wgRA7fLtkngT6UB0vtWQWuhH3iMTZZ/Y89CMeyGfn8pA==" - }, - "node_modules/@floating-ui/dom": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz", - "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==", - "dependencies": { - "@floating-ui/core": "^1.2.2" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "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==", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/console/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/console/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/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==" - }, - "node_modules/@jest/console/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/core/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/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==" - }, - "node_modules/@jest/core/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "dependencies": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.4.3.tgz", - "integrity": "sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ==", - "dependencies": { - "jest-get-type": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/reporters/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/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==" - }, - "node_modules/@jest/reporters/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/reporters/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/transform/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/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==" - }, - "node_modules/@jest/transform/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/transform/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/types/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@jest/types/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/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==" - }, - "node_modules/@jest/types/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "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==", - "dependencies": { - "eslint-scope": "5.1.1" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/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==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "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==", - "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==", - "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==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "dependencies": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "@types/webpack": "4.x || 5.x", - "react-refresh": ">=0.10.0 <1.0.0", - "sockjs-client": "^1.4.0", - "type-fest": ">=0.17.0 <4.0.0", - "webpack": ">=4.43.0 <6.0.0", - "webpack-dev-server": "3.x || 4.x", - "webpack-hot-middleware": "2.x", - "webpack-plugin-serve": "0.x || 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/@remix-run/router": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.3.tgz", - "integrity": "sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@testing-library/dom": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.0.0.tgz", - "integrity": "sha512-+/TLgKNFsYUshOY/zXsQOk+PlFQK+eyJ9T13IDVNJEi+M+Un7xlJK+FZKkbGSnf0+7E1G6PlDhkSYQ/GFiruBQ==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/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==", - "peer": true - }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/jest-dom/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==" - }, - "node_modules/@testing-library/jest-dom/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@testing-library/react/node_modules/@testing-library/dom": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz", - "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@testing-library/react/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/react/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@testing-library/react/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/react/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==" - }, - "node_modules/@testing-library/react/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" - }, - "node_modules/@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", - "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "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.17.33", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", - "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "dependencies": { - "@types/node": "*" - } - }, - "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==" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.10", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz", - "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.4.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.0.tgz", - "integrity": "sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", - "dependencies": { - "@sinclair/typebox": "^0.25.16" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/@jest/types": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.4.3.tgz", - "integrity": "sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA==", - "dependencies": { - "@jest/schemas": "^29.4.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/@types/jest/node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" - }, - "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "17.0.22", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", - "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/jest/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/@types/jest/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@types/jest/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==" - }, - "node_modules/@types/jest/node_modules/diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/expect": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.4.3.tgz", - "integrity": "sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg==", - "dependencies": { - "@jest/expect-utils": "^29.4.3", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.4.3", - "jest-message-util": "^29.4.3", - "jest-util": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.4.3.tgz", - "integrity": "sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-matcher-utils": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz", - "integrity": "sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.4.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-message-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.4.3.tgz", - "integrity": "sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.4.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.4.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/jest-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.4.3.tgz", - "integrity": "sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q==", - "dependencies": { - "@jest/types": "^29.4.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/@types/jest/node_modules/pretty-format": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz", - "integrity": "sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==", - "dependencies": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@types/jest/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@types/jest/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "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==" - }, - "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" - }, - "node_modules/@types/node": { - "version": "18.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz", - "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "node_modules/@types/react": { - "version": "18.0.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", - "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", - "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", - "dependencies": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", - "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/type-utils": "5.54.0", - "@typescript-eslint/utils": "5.54.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.54.0.tgz", - "integrity": "sha512-rRYECOTh5V3iWsrOzXi7h1jp3Bi9OkJHrb3wECi3DVqMGTilo9wAYmCbT+6cGdrzUY3MWcAa2mESM6FMik6tVw==", - "dependencies": { - "@typescript-eslint/utils": "5.54.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", - "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", - "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", - "dependencies": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", - "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.54.0", - "@typescript-eslint/utils": "5.54.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", - "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", - "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", - "dependencies": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", - "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/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==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", - "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", - "dependencies": { - "@typescript-eslint/types": "5.54.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "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==" - }, - "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==" - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "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==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "peerDependencies": { - "acorn": "^8" - } - }, - "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==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - } - }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "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==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.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==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "engines": [ - "node >= 0.8.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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", - "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/babel-jest/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/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==" - }, - "node_modules/babel-jest/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "peerDependencies": { - "@babel/core": "^7.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-styled-components": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", - "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11", - "picomatch": "^2.3.0" - }, - "peerDependencies": { - "styled-components": ">= 2" - } - }, - "node_modules/babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - } - }, - "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==" - }, - "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==" - }, - "node_modules/bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "dependencies": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.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==" - }, - "node_modules/bonjour-service": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", - "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "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==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "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==" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "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==", - "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==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/camelize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001460", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz", - "integrity": "sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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" - }, - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - }, - "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "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==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "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==", - "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==" - }, - "node_modules/compression/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==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "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==", - "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==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "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==" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/core-js": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz", - "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.0.tgz", - "integrity": "sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==", - "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.0.tgz", - "integrity": "sha512-v94gUjN5UTe1n0yN/opTihJ8QBWD2O8i19RfTZR7foONPWArnjB96QA/wk5ozu1mm6ja3udQCzOzwQXTxi3xOQ==", - "hasInstallScript": true, - "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==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/css-minimizer-webpack-plugin/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==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/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==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "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==", - "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-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-to-react-native": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "node_modules/cssdb": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.4.1.tgz", - "integrity": "sha512-0Q8NOMpXJ3iTDDbUv9grcmQAfdDx4qz+fN/+Md2FGbevT+6+bJNQ2LjB2YIUlLbpBTM32idU1Sb+tb/uGt6/XQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - }, - "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==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csso/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "node_modules/deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "node_modules/deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "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==", - "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==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "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==" - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" - }, - "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==", - "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==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "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==", - "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/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" - } - ] - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/dompurify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.1.tgz", - "integrity": "sha512-60tsgvPKwItxZZdfLmamp0MTcecCta3avOhsLgPZ0qcWt96OasFfhkeIRbJ6br5i0fQawT1/RBGB5L58/Jpwuw==" - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "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/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "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==" - }, - "node_modules/ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.320", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.320.tgz", - "integrity": "sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q==" - }, - "node_modules/email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "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==", - "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==", - "dependencies": { - "stackframe": "^1.3.4" - } - }, - "node_modules/es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "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==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/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==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", - "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", - "dependencies": { - "@eslint/eslintrc": "^2.0.0", - "@eslint/js": "8.35.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "dependencies": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "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==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "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==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "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==", - "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==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.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==", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dependencies": { - "is-core-module": "^2.9.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-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-testing-library": { - "version": "5.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.2.tgz", - "integrity": "sha512-f1DmDWcz5SDM+IpCkEX0lbFqrrTs8HRsEElzDEqN/EBI0hpRj8Cns5+IVANXswE8/LeybIJqPAOQIFu2j5Y5sw==", - "dependencies": { - "@typescript-eslint/utils": "^5.43.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, - "peerDependencies": { - "eslint": "^7.5.0 || ^8.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/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==", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint-webpack-plugin/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==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/eslint-webpack-plugin/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/eslint-webpack-plugin/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==" - }, - "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/eslint-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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/eslint/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/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==" - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/eslint/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/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==" - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "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==", - "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==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "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==", - "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==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "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" - } - }, - "node_modules/express/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==" - }, - "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==", - "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==" - }, - "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==" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "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.4" - }, - "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==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "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==" - }, - "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==" - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "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==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "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==", - "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==" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "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==" - }, - "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==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "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==", - "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==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", - "dev": true, - "dependencies": { - "async": "^3.2.4", - "commander": "^2.18.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/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/gh-pages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gh-pages/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gh-pages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/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==", - "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==" - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "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==", - "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==" - }, - "node_modules/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "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==", - "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==" - }, - "node_modules/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", - "engines": { - "node": ">= 6.0.0" - } - }, - "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==", - "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==" - }, - "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==", - "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==" - }, - "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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "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==" - }, - "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==", - "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-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "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": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.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==" - }, - "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==", - "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.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "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==", - "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": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "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": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "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==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "dependencies": { - "harmony-reflect": "^1.4.6" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.19.tgz", - "integrity": "sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/immutable": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz", - "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "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==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "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==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "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==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==" - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jake/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jake/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==" - }, - "node_modules/jake/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jake/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "dependencies": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-circus/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-circus/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/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==" - }, - "node_modules/jest-circus/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-cli/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/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==" - }, - "node_modules/jest-cli/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-config/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/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==" - }, - "node_modules/jest-config/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-diff/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/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==" - }, - "node_modules/jest-diff/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-each/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/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==" - }, - "node_modules/jest-each/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-jasmine2/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/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==" - }, - "node_modules/jest-jasmine2/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-jasmine2/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-matcher-utils/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/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==" - }, - "node_modules/jest-matcher-utils/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-message-util/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/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==" - }, - "node_modules/jest-message-util/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-resolve/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/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==" - }, - "node_modules/jest-resolve/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-runner/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/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==" - }, - "node_modules/jest-runner/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-runtime/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/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==" - }, - "node_modules/jest-runtime/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-snapshot/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/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==" - }, - "node_modules/jest-snapshot/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-util/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/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==" - }, - "node_modules/jest-util/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-validate/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/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==" - }, - "node_modules/jest-validate/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "dependencies": { - "@jest/schemas": "^28.1.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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.22", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", - "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/jest-watch-typeahead/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-watch-typeahead/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watch-typeahead/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==" - }, - "node_modules/jest-watch-typeahead/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-watch-typeahead/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "dependencies": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", - "engines": { - "node": ">=12.20" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-watcher/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/jest-watcher/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/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==" - }, - "node_modules/jest-watcher/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/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==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "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==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "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==" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "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==" - }, - "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==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - }, - "engines": { - "node": ">=4.0" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "engines": { - "node": ">=10" - } - }, - "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==" - }, - "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==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "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==", - "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==" - }, - "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==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "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==" - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "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==", - "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==", - "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==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", - "dependencies": { - "fs-monkey": "^1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "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==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "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==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", - "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/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==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/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==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "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==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/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==", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "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==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "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==", - "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==" - }, - "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==", - "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==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "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==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", - "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", - "dependencies": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "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==" - }, - "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==", - "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==", - "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==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "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.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "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==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "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==", - "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==", - "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==", - "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": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "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==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "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==", - "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==", - "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==", - "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==", - "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==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/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==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/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==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/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==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/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==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "engines": { - "node": ">=8" - }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" - } - }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "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==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-svgo/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==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/postcss-svgo/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "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==" - }, - "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==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "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==" - }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dependencies": { - "asap": "~2.0.6" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "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==" - }, - "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==", - "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==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "dependencies": { - "performance-now": "^2.1.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "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/react-dev-utils/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-dev-utils/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==" - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dev-utils/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-image-gallery": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/react-image-gallery/-/react-image-gallery-1.2.11.tgz", - "integrity": "sha512-YLMCdNSCf3YPhRmnjEOdEZGEXghTMx4o3dlAqd0rz0nAyebUvTz/xJnIHPActbPSHCvVJgt5A09EPHYbGqw++w==", - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-lazy-load-image-component": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/react-lazy-load-image-component/-/react-lazy-load-image-component-1.5.6.tgz", - "integrity": "sha512-M0jeJtOlTHgThOfgYM9krSqYbR6ShxROy/KVankwbw9/amPKG1t5GSGN1sei6Cyu8+QJVuyAUvQ+LFtCVTTlKw==", - "dependencies": { - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1" - }, - "peerDependencies": { - "react": "^15.x.x || ^16.x.x || ^17.x.x || ^18.x.x", - "react-dom": "^15.x.x || ^16.x.x || ^17.x.x || ^18.x.x" - } - }, - "node_modules/react-loader-spinner": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-loader-spinner/-/react-loader-spinner-5.3.4.tgz", - "integrity": "sha512-G2vw4ssX+RDZ/vfaeva06yfNqyFViv/u+tVZ3kFLy5TKNlNx2DbuwreBSpRtPespQA+VxinxUJsigwLwG9erOg==", - "dependencies": { - "react-is": "^18.2.0", - "styled-components": "^5.3.5", - "styled-tools": "^1.7.2" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-loader-spinner/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.2.tgz", - "integrity": "sha512-lF7S0UmXI5Pd8bmHvMdPKI4u4S5McxmHnzJhrYi9ZQ6wE+DA8JN5BzVC5EEBuduWWDaiJ8u6YhVOCmThBli+rw==", - "dependencies": { - "@remix-run/router": "1.3.3" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.2.tgz", - "integrity": "sha512-N/oAF1Shd7g4tWy+75IIufCGsHBqT74tnzHQhbiUTYILYF0Blk65cg+HPZqwC+6SqEyx033nKqU7by38v3lBZg==", - "dependencies": { - "@remix-run/router": "1.3.3", - "react-router": "6.8.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-select": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.0.tgz", - "integrity": "sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==", - "dependencies": { - "@babel/runtime": "^7.12.0", - "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.8.1", - "@floating-ui/dom": "^1.0.1", - "@types/react-transition-group": "^4.4.0", - "memoize-one": "^6.0.0", - "prop-types": "^15.6.0", - "react-transition-group": "^4.3.0", - "use-isomorphic-layout-effect": "^1.1.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "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==", - "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/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", - "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==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz", - "integrity": "sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==", - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "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==", - "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/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "engines": { - "node": ">=0.10.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==", - "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==" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dependencies": { - "is-core-module": "^2.9.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/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==", - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } - } - }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/resolve-url-loader/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/rollup-plugin-terser/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==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "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==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.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==" - }, - "node_modules/sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "node_modules/sass": { - "version": "1.58.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", - "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "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==" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "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==", - "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==" - }, - "node_modules/send/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==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "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==", - "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==", - "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==", - "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==", - "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==" - }, - "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==" - }, - "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==" - }, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "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==", - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", - "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "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==" - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs/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==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.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==", - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "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==", - "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/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/ssr-window": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", - "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/styled-components": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.8.tgz", - "integrity": "sha512-6jQrlvaJQ16uWVVO0rBfApaTPItkqaG32l3746enNZzpMDxMvzmHzj8rHUg39bvVtom0Y8o8ZzWuchEXKGjVsg==", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1.12.0", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" - }, - "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0", - "react-is": ">= 16.8.0" - } - }, - "node_modules/styled-components/node_modules/@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - }, - "node_modules/styled-tools": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/styled-tools/-/styled-tools-1.7.2.tgz", - "integrity": "sha512-IjLxzM20RMwAsx8M1QoRlCG/Kmq8lKzCGyospjtSXt/BTIIcvgTonaxQAsKnBrsZNwhpHzO9ADx5te0h76ILVg==" - }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks/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==", - "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==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/swiper": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-9.1.0.tgz", - "integrity": "sha512-Ck8CywwfUghkbUAHbxTAWyeUAcNrIDNJ6EnKFBGGcHDjeqbh0Jq08RbmD5fMu1a0oOv1eIkUGVkqNJy/asm+yA==", - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/swiperjs" - }, - { - "type": "open_collective", - "url": "http://opencollective.com/swiper" - } - ], - "dependencies": { - "ssr-window": "^4.0.2" - }, - "engines": { - "node": ">= 4.7.0" - } - }, - "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==" - }, - "node_modules/tailwindcss": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", - "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "dependencies": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/tailwindcss/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==" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", - "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "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.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "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==" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "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==", - "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==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "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==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "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==", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "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==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "engines": { - "node": ">=4" - } - }, - "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==", - "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.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "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==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "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==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "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==" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==" - }, - "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==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "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==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "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==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "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": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "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-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/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==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/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==" - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/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==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/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==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", - "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", - "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-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "dependencies": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" - } - }, - "node_modules/webpack-manifest-plugin/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "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==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "node_modules/webpack/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==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.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==", - "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==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-encoding/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==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", - "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/workbox-build/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/workbox-build/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==" - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" - }, - "node_modules/workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", - "dependencies": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", - "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", - "dependencies": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "node_modules/workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", - "dependencies": { - "workbox-core": "6.5.4" - } - }, - "node_modules/workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", - "dependencies": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" - } - }, - "node_modules/workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", - "dependencies": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" - } - }, - "node_modules/workbox-webpack-plugin/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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", - "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/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==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/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==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/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==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "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/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@adobe/css-tools": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.2.0.tgz", - "integrity": "sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==" - }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", - "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==" - }, - "@babel/core": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", - "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.0", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.0", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.0", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/eslint-parser": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz", - "integrity": "sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "dependencies": { - "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==" - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/generator": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", - "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", - "requires": { - "@babel/types": "^7.21.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", - "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-member-expression-to-functions": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", - "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.3.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", - "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", - "requires": { - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==" - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", - "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz", - "integrity": "sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/plugin-syntax-decorators": "^7.21.0" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-decorators": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz", - "integrity": "sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", - "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", - "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", - "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", - "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", - "requires": { - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.20.2.tgz", - "integrity": "sha512-KS/G8YI8uwMGKErLFOHS/ekhqdHhpEloxs43NecQHVgo2QuQSyJhGIY1fL8UGl9wy5ItVwwoUL4YxVqsplGq2g==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz", - "integrity": "sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.21.0" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz", - "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.0.tgz", - "integrity": "sha512-xo///XTPp3mDzTtrqXoBlK9eiAYW3wv9JXglcn/u1bi60RW11dEUxIgA8cbnDhutS1zacjMRmAwxE0gMklLnZg==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - } - }, - "@babel/preset-typescript": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.0.tgz", - "integrity": "sha512-myc9mpoVA5m1rF8K8DgLEatOYFDpwC+RkMkjZ0Du6uI62YvDe8uxIEYVs/VCdSJ097nlALiU/yBC7//3nI+hNg==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-transform-typescript": "^7.21.0" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", - "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", - "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" - }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-text-decoration-shorthand": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz", - "integrity": "sha512-jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==", - "requires": {} - }, - "@emotion/babel-plugin": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", - "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/serialize": "^1.1.1", - "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.1.3" - }, - "dependencies": { - "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==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "@emotion/cache": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", - "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", - "requires": { - "@emotion/memoize": "^0.8.0", - "@emotion/sheet": "^1.2.1", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "stylis": "4.1.3" - } - }, - "@emotion/hash": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", - "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" - }, - "@emotion/is-prop-valid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", - "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", - "requires": { - "@emotion/memoize": "^0.8.0" - } - }, - "@emotion/memoize": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", - "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" - }, - "@emotion/react": { - "version": "11.10.6", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", - "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.10.6", - "@emotion/cache": "^11.10.5", - "@emotion/serialize": "^1.1.1", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@emotion/utils": "^1.2.0", - "@emotion/weak-memoize": "^0.3.0", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", - "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", - "requires": { - "@emotion/hash": "^0.9.0", - "@emotion/memoize": "^0.8.0", - "@emotion/unitless": "^0.8.0", - "@emotion/utils": "^1.2.0", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", - "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" - }, - "@emotion/stylis": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", - "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" - }, - "@emotion/unitless": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", - "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", - "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" - }, - "@emotion/weak-memoize": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", - "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" - }, - "@eslint/eslintrc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", - "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.4.0", - "globals": "^13.19.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" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "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==" - } - } - }, - "@eslint/js": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", - "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==" - }, - "@floating-ui/core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.2.tgz", - "integrity": "sha512-FaO9KVLFnxknZaGWGmNtjD2CVFuc0u4yeGEofoyXO2wgRA7fLtkngT6UB0vtWQWuhH3iMTZZ/Y89CMeyGfn8pA==" - }, - "@floating-ui/dom": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.3.tgz", - "integrity": "sha512-lK9cZUrHSJLMVAdCvDqs6Ug8gr0wmqksYiaoj/bxj2gweRQkSuhg2/V6Jswz2KiQ0RAULbqw1oQDJIMpQ5GfGA==", - "requires": { - "@floating-ui/core": "^1.2.2" - } - }, - "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - } - }, - "@jest/expect-utils": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.4.3.tgz", - "integrity": "sha512-/6JWbkxHOP8EoS8jeeTd9dTfc9Uawi+43oLKHfp6zzux3U2hqOOVnV3ai4RpDYHOccL6g+5nrxpoc8DmJxtXVQ==", - "requires": { - "jest-get-type": "^29.4.3" - }, - "dependencies": { - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==" - } - } - }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", - "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" - } - }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", - "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" - } - }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@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==", - "requires": { - "eslint-scope": "5.1.1" - }, - "dependencies": { - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@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==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@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==" - }, - "@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==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz", - "integrity": "sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==", - "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" - } - }, - "@remix-run/router": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.3.tgz", - "integrity": "sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w==" - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@testing-library/dom": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.0.0.tgz", - "integrity": "sha512-+/TLgKNFsYUshOY/zXsQOk+PlFQK+eyJ9T13IDVNJEi+M+Un7xlJK+FZKkbGSnf0+7E1G6PlDhkSYQ/GFiruBQ==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "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==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz", - "integrity": "sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==", - "requires": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - }, - "dependencies": { - "@testing-library/dom": { - "version": "8.20.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.0.tgz", - "integrity": "sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "^5.0.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.4.4", - "pretty-format": "^27.0.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==" - }, - "@types/babel__core": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", - "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.21.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.1.tgz", - "integrity": "sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.33", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", - "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/graceful-fs": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", - "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", - "requires": { - "@types/node": "*" - } - }, - "@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==" - }, - "@types/http-proxy": { - "version": "1.17.10", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz", - "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "29.4.0", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.4.0.tgz", - "integrity": "sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==", - "requires": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - }, - "dependencies": { - "@jest/schemas": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", - "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", - "requires": { - "@sinclair/typebox": "^0.25.16" - } - }, - "@jest/types": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.4.3.tgz", - "integrity": "sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA==", - "requires": { - "@jest/schemas": "^29.4.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" - } - }, - "@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==" - }, - "@types/yargs": { - "version": "17.0.22", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", - "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", - "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==" - }, - "expect": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.4.3.tgz", - "integrity": "sha512-uC05+Q7eXECFpgDrHdXA4k2rpMyStAYPItEDLyQDo5Ta7fVkJnNA/4zh/OIVkVVNZ1oOK1PipQoyNjuZ6sz6Dg==", - "requires": { - "@jest/expect-utils": "^29.4.3", - "jest-get-type": "^29.4.3", - "jest-matcher-utils": "^29.4.3", - "jest-message-util": "^29.4.3", - "jest-util": "^29.4.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.4.3.tgz", - "integrity": "sha512-YB+ocenx7FZ3T5O9lMVMeLYV4265socJKtkwgk/6YUz/VsEzYDkiMuMhWzZmxm3wDRQvayJu/PjkjjSkjoHsCA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.4.3" - } - }, - "jest-get-type": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", - "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==" - }, - "jest-matcher-utils": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.4.3.tgz", - "integrity": "sha512-TTciiXEONycZ03h6R6pYiZlSkvYgT0l8aa49z/DLSGYjex4orMUcafuLXYyyEDWB1RKglq00jzwY00Ei7yFNVg==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.4.3", - "jest-get-type": "^29.4.3", - "pretty-format": "^29.4.3" - } - }, - "jest-message-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.4.3.tgz", - "integrity": "sha512-1Y8Zd4ZCN7o/QnWdMmT76If8LuDv23Z1DRovBj/vcSFNlGCJGoO8D1nJDw1AdyAGUk0myDLFGN5RbNeJyCRGCw==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.4.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.4.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-util": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.4.3.tgz", - "integrity": "sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q==", - "requires": { - "@jest/types": "^29.4.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "pretty-format": { - "version": "29.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.4.3.tgz", - "integrity": "sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==", - "requires": { - "@jest/schemas": "^29.4.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" - }, - "@types/node": { - "version": "18.14.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.14.6.tgz", - "integrity": "sha512-93+VvleD3mXwlLI/xASjw0FzKcwzl3OdTCzm1LaRfqgS21gfFtK3zDXM5Op9TeeMsJVOaJ2VRDpT9q4Y3d0AvA==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "18.0.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", - "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", - "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", - "requires": { - "@types/react": "*" - } - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" - }, - "@types/testing-library__jest-dom": { - "version": "5.14.5", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", - "integrity": "sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==", - "requires": { - "@types/jest": "*" - } - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" - }, - "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.5.tgz", - "integrity": "sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@typescript-eslint/eslint-plugin": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", - "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", - "requires": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/type-utils": "5.54.0", - "@typescript-eslint/utils": "5.54.0", - "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/experimental-utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.54.0.tgz", - "integrity": "sha512-rRYECOTh5V3iWsrOzXi7h1jp3Bi9OkJHrb3wECi3DVqMGTilo9wAYmCbT+6cGdrzUY3MWcAa2mESM6FMik6tVw==", - "requires": { - "@typescript-eslint/utils": "5.54.0" - } - }, - "@typescript-eslint/parser": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", - "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", - "requires": { - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", - "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", - "requires": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", - "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", - "requires": { - "@typescript-eslint/typescript-estree": "5.54.0", - "@typescript-eslint/utils": "5.54.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/types": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", - "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==" - }, - "@typescript-eslint/typescript-estree": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", - "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", - "requires": { - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/visitor-keys": "5.54.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - } - }, - "@typescript-eslint/utils": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", - "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", - "requires": { - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.54.0", - "@typescript-eslint/types": "5.54.0", - "@typescript-eslint/typescript-estree": "5.54.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", - "semver": "^7.3.7" - }, - "dependencies": { - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "@typescript-eslint/visitor-keys": { - "version": "5.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", - "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", - "requires": { - "@typescript-eslint/types": "5.54.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@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==" - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "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==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" - }, - "acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "requires": {} - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} - }, - "acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", - "requires": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - } - } - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "requires": { - "type-fest": "^0.21.3" - } - }, - "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==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.reduce": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz", - "integrity": "sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axe-core": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", - "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==" - }, - "axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", - "requires": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "requires": { - "deep-equal": "^2.0.5" - } - }, - "babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", - "requires": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - } - }, - "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==", - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-styled-components": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", - "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.16.0", - "@babel/helper-module-imports": "^7.16.0", - "babel-plugin-syntax-jsx": "^6.18.0", - "lodash": "^4.17.11", - "picomatch": "^2.3.0" - } - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", - "requires": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "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==" - }, - "bfj": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.0.2.tgz", - "integrity": "sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw==", - "requires": { - "bluebird": "^3.5.5", - "check-types": "^11.1.1", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", - "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - }, - "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "requires": { - "node-int64": "^0.4.0" - } - }, - "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==" - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "camelize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001460", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz", - "integrity": "sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ==" - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" - }, - "check-types": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.2.tgz", - "integrity": "sha512-HBiYvXvn9Z70Z88XKjz3AEKd4HJhBXsa3j7xFnITAzoS8+q6eIGi8qDB8FKPBAjtuxjI/zFpwuiCb8oDtKOYrA==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==" - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==" - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - }, - "common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "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==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "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==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "core-js": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz", - "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==" - }, - "core-js-compat": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.0.tgz", - "integrity": "sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==", - "requires": { - "browserslist": "^4.21.5" - } - }, - "core-js-pure": { - "version": "3.29.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.29.0.tgz", - "integrity": "sha512-v94gUjN5UTe1n0yN/opTihJ8QBWD2O8i19RfTZR7foONPWArnjB96QA/wk5ozu1mm6ja3udQCzOzwQXTxi3xOQ==" - }, - "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==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@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" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" - }, - "css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "requires": {} - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "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==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-to-react-native": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" - }, - "cssdb": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.4.1.tgz", - "integrity": "sha512-0Q8NOMpXJ3iTDDbUv9grcmQAfdDx4qz+fN/+Md2FGbevT+6+bJNQ2LjB2YIUlLbpBTM32idU1Sb+tb/uGt6/XQ==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - } - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "requires": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" - }, - "deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", - "requires": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, - "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==" - }, - "deepmerge": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", - "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "requires": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - } - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "requires": { - "webidl-conversions": "^5.0.0" - }, - "dependencies": { - "webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "dompurify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.1.tgz", - "integrity": "sha512-60tsgvPKwItxZZdfLmamp0MTcecCta3avOhsLgPZ0qcWt96OasFfhkeIRbJ6br5i0fQawT1/RBGB5L58/Jpwuw==" - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "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==" - }, - "ejs": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz", - "integrity": "sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==", - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.320", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.320.tgz", - "integrity": "sha512-h70iRscrNluMZPVICXYl5SSB+rBKo22XfuIS1ER0OQxQZpKTnFpuS6coj7wY9M/3trv7OR88rRMOlKmRvDty7Q==" - }, - "email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "dev": true - }, - "emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "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==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "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==", - "requires": { - "stackframe": "^1.3.4" - } - }, - "es-abstract": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.1.tgz", - "integrity": "sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.1", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "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==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "8.35.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", - "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", - "requires": { - "@eslint/eslintrc": "^2.0.0", - "@eslint/js": "8.35.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "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==" - }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "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==" - } - } - }, - "eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", - "requires": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", - "requires": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" - } - }, - "eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", - "requires": { - "@typescript-eslint/experimental-utils": "^5.0.0" - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react": { - "version": "7.32.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", - "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} - }, - "eslint-plugin-testing-library": { - "version": "5.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.10.2.tgz", - "integrity": "sha512-f1DmDWcz5SDM+IpCkEX0lbFqrrTs8HRsEElzDEqN/EBI0hpRj8Cns5+IVANXswE8/LeybIJqPAOQIFu2j5Y5sw==", - "requires": { - "@typescript-eslint/utils": "^5.43.0" - } - }, - "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==" - }, - "eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "requires": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "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==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", - "requires": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "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==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "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==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "requires": { - "bser": "2.1.1" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true - }, - "filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "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==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "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==" - }, - "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==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", - "dev": true, - "requires": { - "async": "^3.2.4", - "commander": "^2.18.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "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 - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "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==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "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==" - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, - "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==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "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==" - }, - "harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "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==", - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "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==" - } - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "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" - } - }, - "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==" - }, - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "requires": { - "whatwg-encoding": "^1.0.5" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "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==", - "requires": { - "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" - } - }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "requires": { - "@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" - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "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==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "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==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@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" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "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==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", - "requires": { - "harmony-reflect": "^1.4.6" - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "immer": { - "version": "9.0.19", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.19.tgz", - "integrity": "sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==" - }, - "immutable": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz", - "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "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==" - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "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==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "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==" - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "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==" - }, - "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==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" - }, - "istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", - "requires": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - } - }, - "jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", - "requires": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" - } - }, - "jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", - "requires": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "requires": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - } - }, - "jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" - }, - "jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "requires": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - } - }, - "jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", - "requires": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - } - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} - }, - "jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" - }, - "jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", - "requires": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "requires": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" - } - }, - "jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", - "requires": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "requires": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - } - }, - "jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "requires": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", - "requires": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", - "requires": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "requires": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", - "requires": { - "@jest/schemas": "^28.1.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" - } - }, - "@types/yargs": { - "version": "17.0.22", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.22.tgz", - "integrity": "sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "dependencies": { - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - } - } - }, - "jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" - }, - "jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", - "requires": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "requires": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, - "dependencies": { - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", - "requires": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - }, - "string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", - "requires": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==" - } - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - } - } - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "requires": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "requires": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "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==" - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "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==" - }, - "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==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "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==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", - "requires": { - "language-subtag-registry": "~0.3.2" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "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==" - }, - "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==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "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==" - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "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==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "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==", - "requires": { - "yallist": "^3.0.2" - } - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "requires": { - "tmpl": "1.0.5" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "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==" - }, - "memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", - "requires": { - "fs-monkey": "^1.0.3" - } - }, - "memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "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==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" - }, - "mini-css-extract-plugin": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", - "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "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==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "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==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "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==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "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==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "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==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" - }, - "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==" - }, - "object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz", - "integrity": "sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==", - "requires": { - "array.prototype.reduce": "^1.0.5", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "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==", - "requires": { - "ee-first": "1.1.1" - } - }, - "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==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "requires": { - "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.3" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "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==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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==", - "requires": { - "callsites": "^3.0.0" - } - }, - "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==", - "requires": { - "@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" - } - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "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==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "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==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" - }, - "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==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "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==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-browser-comments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} - }, - "postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "requires": { - "camelcase-css": "^2.0.1" - } - }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - } - }, - "postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "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==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", - "requires": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "requires": {} - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", - "requires": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "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==" - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "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==" - }, - "promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "requires": { - "asap": "~2.0.6" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "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==" - } - } - }, - "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==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "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==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "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==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", - "requires": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "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==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-image-gallery": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/react-image-gallery/-/react-image-gallery-1.2.11.tgz", - "integrity": "sha512-YLMCdNSCf3YPhRmnjEOdEZGEXghTMx4o3dlAqd0rz0nAyebUvTz/xJnIHPActbPSHCvVJgt5A09EPHYbGqw++w==", - "requires": {} - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "react-lazy-load-image-component": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/react-lazy-load-image-component/-/react-lazy-load-image-component-1.5.6.tgz", - "integrity": "sha512-M0jeJtOlTHgThOfgYM9krSqYbR6ShxROy/KVankwbw9/amPKG1t5GSGN1sei6Cyu8+QJVuyAUvQ+LFtCVTTlKw==", - "requires": { - "lodash.debounce": "^4.0.8", - "lodash.throttle": "^4.1.1" - } - }, - "react-loader-spinner": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-loader-spinner/-/react-loader-spinner-5.3.4.tgz", - "integrity": "sha512-G2vw4ssX+RDZ/vfaeva06yfNqyFViv/u+tVZ3kFLy5TKNlNx2DbuwreBSpRtPespQA+VxinxUJsigwLwG9erOg==", - "requires": { - "react-is": "^18.2.0", - "styled-components": "^5.3.5", - "styled-tools": "^1.7.2" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" - }, - "react-router": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.2.tgz", - "integrity": "sha512-lF7S0UmXI5Pd8bmHvMdPKI4u4S5McxmHnzJhrYi9ZQ6wE+DA8JN5BzVC5EEBuduWWDaiJ8u6YhVOCmThBli+rw==", - "requires": { - "@remix-run/router": "1.3.3" - } - }, - "react-router-dom": { - "version": "6.8.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.2.tgz", - "integrity": "sha512-N/oAF1Shd7g4tWy+75IIufCGsHBqT74tnzHQhbiUTYILYF0Blk65cg+HPZqwC+6SqEyx033nKqU7by38v3lBZg==", - "requires": { - "@remix-run/router": "1.3.3", - "react-router": "6.8.2" - } - }, - "react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "requires": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "fsevents": "^2.3.2", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - } - }, - "react-select": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.0.tgz", - "integrity": "sha512-lJGiMxCa3cqnUr2Jjtg9YHsaytiZqeNOKeibv6WF5zbK/fPegZ1hg3y/9P1RZVLhqBTs0PfqQLKuAACednYGhQ==", - "requires": { - "@babel/runtime": "^7.12.0", - "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.8.1", - "@floating-ui/dom": "^1.0.1", - "@types/react-transition-group": "^4.4.0", - "memoize-one": "^6.0.0", - "prop-types": "^15.6.0", - "react-transition-group": "^4.3.0", - "use-isomorphic-layout-effect": "^1.1.2" - } - }, - "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==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "requires": { - "pify": "^2.3.0" - } - }, - "readable-stream": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.1.tgz", - "integrity": "sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - }, - "regexpu-core": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.1.tgz", - "integrity": "sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==", - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, - "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==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "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==", - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "requires": { - "fsevents": "~2.3.2" - } - }, - "rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "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==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" - }, - "sass": { - "version": "1.58.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", - "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "requires": { - "xmlchars": "^2.2.0" - } - }, - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "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==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", - "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "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==" - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - } - }, - "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==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "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==", - "requires": { - "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" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "ssr-window": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-4.0.2.tgz", - "integrity": "sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - } - } - }, - "stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "requires": { - "internal-slot": "^1.0.4" - } - }, - "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==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "requires": { - "min-indent": "^1.0.0" - } - }, - "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==" - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "style-loader": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz", - "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", - "requires": {} - }, - "styled-components": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.8.tgz", - "integrity": "sha512-6jQrlvaJQ16uWVVO0rBfApaTPItkqaG32l3746enNZzpMDxMvzmHzj8rHUg39bvVtom0Y8o8ZzWuchEXKGjVsg==", - "requires": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1.12.0", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "dependencies": { - "@emotion/unitless": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" - } - } - }, - "styled-tools": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/styled-tools/-/styled-tools-1.7.2.tgz", - "integrity": "sha512-IjLxzM20RMwAsx8M1QoRlCG/Kmq8lKzCGyospjtSXt/BTIIcvgTonaxQAsKnBrsZNwhpHzO9ADx5te0h76ILVg==" - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "stylis": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", - "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "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==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - } - } - }, - "swiper": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/swiper/-/swiper-9.1.0.tgz", - "integrity": "sha512-Ck8CywwfUghkbUAHbxTAWyeUAcNrIDNJ6EnKFBGGcHDjeqbh0Jq08RbmD5fMu1a0oOv1eIkUGVkqNJy/asm+yA==", - "requires": { - "ssr-window": "^4.0.2" - } - }, - "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==" - }, - "tailwindcss": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.7.tgz", - "integrity": "sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==", - "requires": { - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" - }, - "dependencies": { - "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==" - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" - } - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "5.16.5", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz", - "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==", - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "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==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "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==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", - "requires": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "dependencies": { - "universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" - } - } - }, - "tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "requires": { - "punycode": "^2.1.1" - } - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "requires": { - "minimist": "^1.2.0" - } - }, - "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==" - } - } - }, - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "peer": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "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==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "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==" - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "requires": {} - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "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==" - }, - "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==" - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==" - }, - "v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "requires": { - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" - }, - "webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "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": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "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==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "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==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "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==" - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "ws": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", - "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", - "requires": {} - } - } - }, - "webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", - "requires": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "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==" - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "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==" - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "requires": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "workbox-background-sync": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz", - "integrity": "sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-broadcast-update": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz", - "integrity": "sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-build": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.5.4.tgz", - "integrity": "sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA==", - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.5.4", - "workbox-broadcast-update": "6.5.4", - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-google-analytics": "6.5.4", - "workbox-navigation-preload": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-range-requests": "6.5.4", - "workbox-recipes": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4", - "workbox-streams": "6.5.4", - "workbox-sw": "6.5.4", - "workbox-window": "6.5.4" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "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==" - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } - } - }, - "workbox-cacheable-response": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz", - "integrity": "sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-core": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.5.4.tgz", - "integrity": "sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q==" - }, - "workbox-expiration": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.5.4.tgz", - "integrity": "sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ==", - "requires": { - "idb": "^7.0.1", - "workbox-core": "6.5.4" - } - }, - "workbox-google-analytics": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz", - "integrity": "sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg==", - "requires": { - "workbox-background-sync": "6.5.4", - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-navigation-preload": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz", - "integrity": "sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-precaching": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.5.4.tgz", - "integrity": "sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-range-requests": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz", - "integrity": "sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-recipes": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.5.4.tgz", - "integrity": "sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA==", - "requires": { - "workbox-cacheable-response": "6.5.4", - "workbox-core": "6.5.4", - "workbox-expiration": "6.5.4", - "workbox-precaching": "6.5.4", - "workbox-routing": "6.5.4", - "workbox-strategies": "6.5.4" - } - }, - "workbox-routing": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.5.4.tgz", - "integrity": "sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-strategies": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.5.4.tgz", - "integrity": "sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw==", - "requires": { - "workbox-core": "6.5.4" - } - }, - "workbox-streams": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.5.4.tgz", - "integrity": "sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg==", - "requires": { - "workbox-core": "6.5.4", - "workbox-routing": "6.5.4" - } - }, - "workbox-sw": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.5.4.tgz", - "integrity": "sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==" - }, - "workbox-webpack-plugin": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz", - "integrity": "sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==", - "requires": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.5.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } - } - }, - "workbox-window": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.5.4.tgz", - "integrity": "sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug==", - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.5.4" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "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==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "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==" - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index b557c83..0000000 --- a/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "react-games", - "version": "0.1.0", - "private": true, - "dependencies": { - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "axios": "^1.3.4", - "dompurify": "^3.0.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-image-gallery": "^1.2.11", - "react-lazy-load-image-component": "^1.5.6", - "react-loader-spinner": "^5.3.4", - "react-router-dom": "^6.8.2", - "react-scripts": "5.0.1", - "react-select": "^5.7.0", - "sass": "^1.58.3", - "swiper": "^9.1.0", - "uuid": "^9.0.0", - "web-vitals": "^2.1.4" - }, - "scripts": { - "predeploy": "npm run build", - "deploy": "gh-pages -d build", - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "gh-pages": "^5.0.0" - } -} diff --git a/public/index.html b/public/index.html deleted file mode 100644 index aa069f2..0000000 --- a/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <meta charset="utf-8" /> - <link rel="icon" href="%PUBLIC_URL%/favicon.ico" /> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - <meta name="theme-color" content="#000000" /> - <meta - name="description" - content="Web site created using create-react-app" - /> - <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> - <!-- - manifest.json provides metadata used when your web app is installed on a - user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/ - --> - <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> - <!-- - Notice the use of %PUBLIC_URL% in the tags above. - It will be replaced with the URL of the `public` folder during the build. - Only files inside the `public` folder can be referenced from the HTML. - - Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will - work correctly both with client-side routing and a non-root public URL. - Learn how to configure a non-root public URL by running `npm run build`. - --> - <title>React App</title> - </head> - <body> - <noscript>You need to enable JavaScript to run this app.</noscript> - <div id="root"></div> - <!-- - This HTML file is a template. - If you open it directly in the browser, you will see an empty page. - - You can add webfonts, meta tags, or analytics to this file. - The build step will place the bundled scripts into the <body> tag. - - To begin the development, run `npm start` or `yarn start`. - To create a production bundle, use `npm run build` or `yarn build`. - --> - </body> -</html> diff --git a/src/API/services/developers/DevelopersService.jsx b/src/API/services/developers/DevelopersService.jsx deleted file mode 100644 index 5c704b1..0000000 --- a/src/API/services/developers/DevelopersService.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class DevelopersService { - static async getDevelopersList(limit, page) { - const response = await axios.get(`https://api.rawg.io/api/developers?key=${_APIKEY}`, { - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesByDeveloperSlug(slug, limit, page, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?developers=${slug}&key=${_APIKEY}`,{ - params: { - page_size: limit, - platforms: platform, - page: page, - } - }); - return response; - } - - static async getDevelopersGameById(slug) { - const response = await axios.get(`https://api.rawg.io/api/games/${slug}/development-team?key=${_APIKEY}`); - return response; - } - - static async getDeveloperById(slug) { - const response = await axios.get(`https://api.rawg.io/api/developers/${slug}?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/API/services/games/GamesService.jsx b/src/API/services/games/GamesService.jsx deleted file mode 100644 index 537277f..0000000 --- a/src/API/services/games/GamesService.jsx +++ /dev/null @@ -1,68 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class GamesService { - static async getGamesList(limit = 20, page = 1, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, { - params: { - platforms: platform, - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesListBySearch(query, limit, page) { - const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, { - params: { - search: query, - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesListByParam(param, limit = 20, page = 1, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, { - params: { - ordering: param, - platforms: platform, - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGameBySlug(slug) { - const response = await axios.get(`https://api.rawg.io/api/games/${slug}?key=${_APIKEY}`); - return response; - } - - static async getGameAchiviementsById(id) { - const response = await axios.get(`https://api.rawg.io/api/games/${id}/achievements?key=${_APIKEY}`); - return response; - } - - static async getGameScreenshotsById(id) { - const response = await axios.get(`https://api.rawg.io/api/games/${id}/screenshots?key=${_APIKEY}`); - return response; - } - - static async getStoreGameById(id) { - const response = await axios.get(`https://api.rawg.io/api/games/${id}/stores?key=${_APIKEY}`); - return response; - } - - static async getRedditPostsById(id) { - const response = await axios.get(`https://api.rawg.io/api/games/${id}/reddit?key=${_APIKEY}`); - return response; - } - - static async getGameAdditionsById(id) { - const response = await axios.get(`https://api.rawg.io/api/games/${id}/additions?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/API/services/genres/GenresService.jsx b/src/API/services/genres/GenresService.jsx deleted file mode 100644 index 59db051..0000000 --- a/src/API/services/genres/GenresService.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class GenresService { - static async getGenresList(limit, page) { - const response = await axios.get(`https://api.rawg.io/api/genres?key=${_APIKEY}`, { - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesByGenreSlug(slug, limit, page, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?genres=${slug}&key=${_APIKEY}`, { - params: { - page_size: limit, - platforms: platform, - page: page, - } - }); - return response; - } - - static async getGenreBySlug(slug) { - const response = await axios.get(`https://api.rawg.io/api/genres/${slug}?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/API/services/platforms/PlatformsService.jsx b/src/API/services/platforms/PlatformsService.jsx deleted file mode 100644 index 55303ff..0000000 --- a/src/API/services/platforms/PlatformsService.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class PlatformsService { - static async getPlatformsList(limit, page) { - const response = await axios.get(`https://api.rawg.io/api/platforms?key=${_APIKEY}`, { - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesByPlatformId(id, limit, page) { - const response = await axios.get(`https://api.rawg.io/api/games?platforms=${id}&key=${_APIKEY}`,{ - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getPlatformById(id) { - const response = await axios.get(`https://api.rawg.io/api/platforms/${id}?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/API/services/publishers/PublishersService.jsx b/src/API/services/publishers/PublishersService.jsx deleted file mode 100644 index 6e3170c..0000000 --- a/src/API/services/publishers/PublishersService.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class PublishersService { - static async getPublishersList(limit, page) { - const response = await axios.get(`https://api.rawg.io/api/publishers?key=${_APIKEY}`, { - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesByPublisherSlug(slug, limit, page, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?publishers=${slug}&key=${_APIKEY}`,{ - params: { - page_size: limit, - platforms: platform, - page: page, - } - }); - return response; - } - - static async getPublisherBySlug(slug) { - const response = await axios.get(`https://api.rawg.io/api/publishers/${slug}?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/API/services/tags/TagsService.jsx b/src/API/services/tags/TagsService.jsx deleted file mode 100644 index 566eb46..0000000 --- a/src/API/services/tags/TagsService.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import axios from "axios"; -import {_APIKEY} from '../../../config'; - -export default class TagsService { - static async getTagssList(limit, page) { - const response = await axios.get(`https://api.rawg.io/api/tags?key=${_APIKEY}`, { - params: { - page_size: limit, - page: page, - } - }); - return response; - } - - static async getGamesByTagSlug(slug, limit, page, platform) { - const response = await axios.get(`https://api.rawg.io/api/games?tags=${slug}&key=${_APIKEY}`,{ - params: { - page_size: limit, - platforms: platform, - page: page, - } - }); - return response; - } - - static async getTagBySlug(slug) { - const response = await axios.get(`https://api.rawg.io/api/tags/${slug}?key=${_APIKEY}`); - return response; - } -} \ No newline at end of file diff --git a/src/App.js b/src/App.js deleted file mode 100644 index 33d27e7..0000000 --- a/src/App.js +++ /dev/null @@ -1,29 +0,0 @@ - -import { useState } from "react"; -import { BrowserRouter} from "react-router-dom"; - -import Header from './components/Header/Header'; -import Footer from "./components/Footer/Footer"; -import AppRouter from "./pages/AppRouter"; - -import { SearchContext } from "./context/SearchContext"; - -import './App.scss'; - -function App() { - const [searchFormData, setSearchFormData] = useState({ query: '' }); - - return ( - <BrowserRouter> - <SearchContext.Provider value={{ searchFormData, setSearchFormData }}> - <div className="App"> - <Header/> - <AppRouter/> - <Footer/> - </div> - </SearchContext.Provider> - </BrowserRouter> - ); -} - -export default App; diff --git a/src/App.scss b/src/App.scss deleted file mode 100644 index fc1c6b8..0000000 --- a/src/App.scss +++ /dev/null @@ -1,276 +0,0 @@ -@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400;1,500;1,700;1,900&display=swap'); - -body { - font-family: 'Roboto', sans-serif; - color: #fff; - background-color: #151515; -} - -* { - padding: 0px; - margin: 0px; - border: none; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -a { - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - color: #fff; - text-decoration: none; - transition: all .2s ease; - - &:hover { - color: hsla(0,0%,100%,.4); - } -} - - -aside, nav, footer, header, section, main { - display: block; -} - -h1, h2, h3, h4, h5, h6, p { - font-size: inherit; - font-weight: inherit; -} - -ul, ul li { - list-style: none; -} - -img { - vertical-align: top; -} - -img, svg { - max-width: 100%; - height: auto; -} - -address { - font-style: normal; -} - -input, textarea, button, select { - font-family: inherit; - font-size: inherit; - color: inherit; - background-color: transparent; -} - -input::-ms-clear { - display: none; -} - -button, input[type="submit"] { - display: inline-block; - box-shadow: none; - background-color: transparent; - background: none; - cursor: pointer; -} - -input:focus, input:active, -button:focus, button:active { - outline: none; -} - -button::-moz-focus-inner { - padding: 0; - border: 0; -} - -label { - cursor: pointer; -} - -legend { - display: block; -} - -.container { - max-width: 1440px; - width: 100%; - margin: 0 auto; - padding: 0 5px; - overflow-x: hidden; -} - -.section-header { - margin-top: 10px; - margin-bottom: 10px; -} - -.section-title { - font-size: 48px; - font-weight: 700; - text-align: left; -} - -.page__title { - font-size: 24px; - font-weight: 700; -} - -.page-art { - position: absolute; - top: 0; - left: 0; - z-index: -2; - width: 100%; - height: 100%; - - &__wrapper { - width: 100%; - min-height: 100%; - } - - .art { - max-height: 100%; - background-size: cover; - height: 500px; - background-color: transparent; - z-index: 1; - } -} - -.page-art__additional { - position: absolute; - left: 0; - margin-top: -300px; - z-index: -10; - opacity: .4; - width: 100%; - height: 600px; - background: no-repeat 50%/cover; -} - -.page { - min-height: 100%; - padding-top: 50px; - padding-bottom: 50px; - position: relative; -} - -.page__about { - &-text { - line-height: 1.3; - p { - padding-block-start: 0.3em; - padding-block-end: 0.3em; - font-size: 15px; - } - } -} - -.observer { - height: 10px; -} - -.page__control { - display: flex; - align-items: stretch; - - &-filters { - display: flex; - flex: 1 1 auto; - - .my-select__wrapper { - margin-right: 15px; - - &:last-child { - margin-right: 0; - } - } - } - - &-display { - display: flex; - align-items: center; - justify-content: center; - flex: 0 1 auto; - - &__title { - margin-right: 16px; - font-size: 14px; - opacity: .4; - } - - &__items { - display: flex; - } - - &__option { - width: 38px; - height: 38px; - transition: opacity .3s; - opacity: .4; - margin-right: 8px; - - &:last-child { - margin-right: 0; - } - - &.display-active { - opacity: 1; - } - - &:hover { - opacity: 0.6; - } - } - - .display-column { - background: url('./resources/img/icons/column-icon.svg'); - background-repeat: no-repeat; - background-size: contain; - } - - .display-list { - background: url('./resources/img/icons/list-icon.svg'); - background-repeat: no-repeat; - background-size: contain; - } - } -} - -@media screen and (max-width: 1440px) { - .container { - padding: 0 40px; - } -} - -@media screen and (max-width: 992px) { - .page { - padding-top: 0px; - &__control-display { - display: none; - } - } - - .section-title { - font-size: 36px; - } -} - -@media screen and (max-width: 576px) { - .page__control-filters { - flex-direction: column; - flex: auto; - } - - .container { - padding: 0px 15px; - } - - .page-art .art { - height: 300px; - } -} - - diff --git a/src/components/Footer/Footer.jsx b/src/components/Footer/Footer.jsx deleted file mode 100644 index a289b26..0000000 --- a/src/components/Footer/Footer.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import './footer.scss'; - -const Footer = () => { - return ( - <footer className="footer"> - <div className="container"> - <div className="footer__wrapper"> - <a href="https://rawg.io/apidocs" className="footer-text">Based on RAWG Database API</a> - </div> - </div> - </footer> - ); -}; - -export default Footer; \ No newline at end of file diff --git a/src/components/Footer/footer.scss b/src/components/Footer/footer.scss deleted file mode 100644 index 5f22c92..0000000 --- a/src/components/Footer/footer.scss +++ /dev/null @@ -1,22 +0,0 @@ -.footer { - padding: 20px 0px; - width: 100%; - - &__wrapper { - display: flex; - justify-content: center; - } - - &-text { - text-align: center; - font-size: 12px; - opacity: .4; - font-family: monospace; - background-image: none; - - &:hover { - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - opacity: .8; - } - } -} \ No newline at end of file diff --git a/src/components/GameAchievements/GameAchievements.jsx b/src/components/GameAchievements/GameAchievements.jsx deleted file mode 100644 index 44f7ac5..0000000 --- a/src/components/GameAchievements/GameAchievements.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import { useState, useEffect } from "react"; -import { useFetching } from "../../hooks/useFetching"; - -import GamesService from "../../API/services/games/GamesService"; - -import Loader from "../UI/Loader/Loader"; -import Error from "../UI/Error/Error"; - -import './gameAchievements.scss'; - -const GameAchievements = ({id}) => { - const [achievs, setAchievs] = useState([]); - const [getAchieves, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGameAchiviementsById(id); - setAchievs(response.data.results); - }); - - useEffect(() => { - getAchieves(); - }, [id]); - - return ( - <div className="game-achievements__inner"> - {isLoading - ? <Loader/> - : achievs.length !== 0 - ? achievs.map(achieve => { - return <div key={achieve.id} className="game-achieve"> - <div className="game-achieve__photo"> - <img src={achieve.image} alt="" /> - </div> - <div className="game-achieve__text"> - <div className="game-achieve__name">{achieve.name}</div> - <div className="game-achieve__percent">{achieve.percent}%</div> - <div className="game-achieve__descr">{achieve.description}</div> - </div> - </div> - }) - : <div>There is no achievements for this game</div> - } - {error && <Error/>} - </div> - ); -}; - -export default GameAchievements; \ No newline at end of file diff --git a/src/components/GameAchievements/gameAchievements.scss b/src/components/GameAchievements/gameAchievements.scss deleted file mode 100644 index e3cf7e0..0000000 --- a/src/components/GameAchievements/gameAchievements.scss +++ /dev/null @@ -1,80 +0,0 @@ -.game-achievements__inner { - margin-top: 15px; - display: flex; - flex-wrap: wrap; -} - -.game-achieve { - flex-basis: 30%; - margin-right: 10px; - margin-bottom: 10px; - display: flex; - - &__photo { - height: 56px; - width: 56px; - flex-shrink: 0; - margin-right: 16px; - border-radius: 6px; - - img { - width: 100%; - height: 100%; - border-radius: 6px; - } - } - - &__name { - font-size: 16px; - font-weight: 500; - } - - &__percent { - font-size: 12px; - margin-top: 2px; - } - - &__descr { - font-size: 12px; - margin-top: 4px; - color: hsla(0,0%,100%,.4); - } -} - -@media screen and (max-width: 576px) { - .game-achievements { - &__inner { - flex-direction: column; - } - } - - .game-achieve { - width: 100%; - padding: 16px 0; - border-bottom: 1px solid hsla(0,0%,100%,.1); - - &:last-child { - border-bottom: none; - } - - &__photo { - width: 48px; - height: 48px; - } - - &__text { - display: flex; - flex-direction: column; - } - - &__name { - order: 1; - font-size: 14px; - margin-top: 2px; - } - - &__descr { - order: 2; - } - } -} \ No newline at end of file diff --git a/src/components/GameAdditions/GameAdditions.jsx b/src/components/GameAdditions/GameAdditions.jsx deleted file mode 100644 index 2ab916d..0000000 --- a/src/components/GameAdditions/GameAdditions.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect } from "react"; -import { useNavigate } from "react-router-dom"; -import { useFetching } from "../../hooks/useFetching"; - -import GamesService from "../../API/services/games/GamesService"; - -import Loader from "../UI/Loader/Loader"; -import Error from "../UI/Error/Error"; -import GameItem from "../GameItem/GameItem"; - -import './gameAdditions.scss'; - -const GameAdditions = ({id}) => { - const [additions, setAdditions] = useState([]); - const [getAdditions, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGameAdditionsById(id); - setAdditions(response.data.results); - }); - const [showMore, setShowMore] = useState(false); - - useEffect(() => { - getAdditions(); - }, [id]); - - const showNoAdditionsMessage = !isLoading && additions.length === 0; - const showLimitedAdditions = !isLoading && additions.length > 0 && additions.length > 3; - let showAllAdditions = !isLoading && additions.length > 0 && additions.length <= 3; - - const limitedAdditions = additions.slice(0, 3).map((addition) => ( - <div className="game-addition" key={addition.id}> - <GameItem game={addition} /> - </div> - )); - - const allAdditions = additions.map((addition) => ( - <div className="game-addition" key={addition.id}> - <GameItem game={addition} /> - </div> - )); - return ( - <div className="game-additions__inner"> - {isLoading && <Loader />} - {showNoAdditionsMessage && <div>There are no additions for this game</div>} - {showLimitedAdditions && ( - <> - {showMore - ? allAdditions - : <> - {limitedAdditions} - <div className="game-addition no-game"> - <div className="game-addition__no-game"> - <button onClick={() => setShowMore(true)}>More</button> - </div> - </div> - </> - } - </> - )} - {showAllAdditions && allAdditions} - {error && <Error/>} - </div> - ); -}; - -export default GameAdditions; \ No newline at end of file diff --git a/src/components/GameAdditions/gameAdditions.scss b/src/components/GameAdditions/gameAdditions.scss deleted file mode 100644 index 33b7b5f..0000000 --- a/src/components/GameAdditions/gameAdditions.scss +++ /dev/null @@ -1,49 +0,0 @@ -.game-additions__inner { - display: flex; - flex-wrap: wrap; - margin-top: 10px; - width: 1200px; -} - -.game-addition { - max-width: 290px; - width: 100%; - margin-bottom: 10px; - margin-right: 10px; - - &.no-game { - background-color: #202020; - display: flex; - justify-content: center; - align-items: center; - } - - &__no-game { - button { - padding: 15px 56px; - background-color: hsla(0, 0%, 100%, 0.1); - color: hsla(0, 0%, 100%, 0.4); - border-radius: 4px; - transition: 0.2s ease; - } - } -} - -@media screen and (max-width: 1440px) { - .game-additions { - &__inner { - width: auto; - } - } -} - -@media screen and (max-width: 576px) { - .game-additions { - &__inner { - width: auto; - } - } - .swiper-button-next, .swiper-button-prev { - display: none; - } -} diff --git a/src/components/GameDevs/GameDevs.jsx b/src/components/GameDevs/GameDevs.jsx deleted file mode 100644 index c2bc1e1..0000000 --- a/src/components/GameDevs/GameDevs.jsx +++ /dev/null @@ -1,126 +0,0 @@ -import { useState, useEffect } from "react"; -import { useFetching } from "../../hooks/useFetching"; -import { Link } from "react-router-dom"; - -import DevelopersService from "../../API/services/developers/DevelopersService"; - -import Loader from "../UI/Loader/Loader"; -import Error from "../UI/Error/Error"; -import { Navigation, Pagination, Scrollbar } from 'swiper'; -import { Swiper, SwiperSlide } from 'swiper/react'; - -import 'swiper/scss'; -import 'swiper/css/navigation'; -import 'swiper/css/pagination'; -import 'swiper/css/scrollbar'; -import './gameDevs.scss'; - -const GameDevs = ({id}) => { - const [devs, setDevs] = useState([]); - const [getDevs, isLoading, error] = useFetching(async () => { - const response = await DevelopersService.getDevelopersGameById(id); - setDevs(response.data.results); - }); - - useEffect(() => { - getDevs(); - }, [id]); - - const sliderBreakpoints = { - 0: { - slidesPerView: 'auto', - freeMode: {enabled: true}, - }, - 576: { - slidesPerView: 2, - spaceBetween: 10, - }, - 692: { - slidesPerView: 2, - spaceBetween: 10, - freeMode: {enabled: false}, - }, - 992: { - slidesPerView: 3, - spaceBetween: 10, - }, - }; - - const swiperParams = { - modules: [Navigation, Pagination, Scrollbar], - spaceBetween: 10, - slidesPerView: 3, - navigation: true, - wrapperClass: 'devs-slider', - }; - - const swiperContent = devs.length !== 0 - ? <Swiper - {...swiperParams} - breakpoints={sliderBreakpoints} - > - { - devs.slice(0, 5).map(dev => { - return <SwiperSlide key={dev.id}> - <div className="game-developer" style={{backgroundImage: `linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(${dev.image_background})`}}> - <div className="game-developer__head"> - <div className="game-developer__head-photo"> - <img src={ - dev.image === null ? 'https://w7.pngwing.com/pngs/336/946/png-transparent-avatar-user-medicine-surgery-patient-avatar-face-heroes-head.png' : dev.image - } alt="developer" /> - </div> - <div className="game-developer__head-name"> - <a href="#">{dev.name}</a></div> - <div className="game-developer__head-positions"> - {dev.positions.map((position, index, array) => { - if ((index + 1) !== array.length) { - return <div key={position.id} - className="game-developer__head-position"> - {position.name.charAt(0).toUpperCase() + position.name.slice(1)}, - </div> - } else { - return <div key={position.id} - className="game-developer__head-position"> - {position.name.charAt(0).toUpperCase() + position.name.slice(1)} - </div> - } - })} - </div> - </div> - <div className="card-item__content"> - <div className="card-item__content-title">Known for {dev.games_count} games</div> - <ul className="card-item__content-items"> - {dev.games.map(game => { - return <li key={game.id} className="card-item__content-game"> - <Link to={`/games/${game.slug}`} className="card-item__content-name">{game.name}</Link> - <span className="card-item__content-added">{game.added}</span> - </li> - })} - </ul> - </div> - </div> - </SwiperSlide> - }) - } - <SwiperSlide> - <div className="game-developer"> - <Link to="/developers" className="game-developer__button-more"> - <button>More</button> - </Link> - </div> - </SwiperSlide> - </Swiper> - : <div>There is no creators for this game</div> - - return ( - <div className="game-devs__inner"> - {isLoading - ? <Loader/> - : swiperContent - } - {error && <Error/>} - </div> - ); -}; - -export default GameDevs; \ No newline at end of file diff --git a/src/components/GameDevs/gameDevs.scss b/src/components/GameDevs/gameDevs.scss deleted file mode 100644 index 92499d1..0000000 --- a/src/components/GameDevs/gameDevs.scss +++ /dev/null @@ -1,161 +0,0 @@ -.game-devs__inner { - display: flex; - flex-wrap: wrap; - margin-top: 15px; - width: 1200px; - - .swiper-button-prev, .swiper-button-next { - color: #fff; - - &:after { - font-size: 25px; - } - } - - .swiper-pagination { - bottom: 5px; - } - - .swiper-pagination-bullet { - background-color: #fff; - } -} - -.game-developer { - max-width: 300px; - width: 100%; - height: 430px; - padding: 32px 24px; - background-color: rgb(32, 32, 32); - background-position: 50%; - background-repeat: no-repeat; - background-size: cover; - border-radius: 6px; - box-shadow: 0 10px 20px 0 rgb(0 0 0 / 20%); - display: flex; - flex-direction: column; - flex: 0 1 auto; - - &__head { - text-align: center; - margin: 16px 0px; - flex: 1 1 auto; - - &-photo { - margin: 0 auto; - - img { - border-radius: 50%; - width: 128px; - height: 128px; - object-fit: cover; - object-position: center; - } - } - - &-name { - margin-top: 12px; - font-size: 21px; - font-weight: 700; - - a { - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - } - } - - &-positions { - display: flex; - justify-content: center; - } - - &-position { - margin-top: 8px; - margin-right: 5px; - font-size: 13px; - - &:last-child { - margin-right: 0; - } - } - } - - &__button-more { - display: grid; - justify-content: center; - align-items: center; - height: 100%; - background-image: none; - - button { - display: flex; - align-items: center; - justify-content: center; - flex: 0 1 auto; - padding: 15px 56px; - background-color: hsla(0,0%,100%,.1); - color: hsla(0,0%,100%,.4); - border-radius: 4px; - transition: 0.2s ease; - - &:hover { - background-color: #fff; - color: #000; - } - } - } -} - -.devs-slider { - .swiper-slide { - display: flex; - justify-content: center; - min-width: 300px !important; - } -} - -@media screen and (max-width: 1440px) { - .game-devs { - &__inner { - width: auto; - } - } -} - -@media screen and (max-width: 576px) { - .game-screenshot { - &__inner { - width: auto; - } - } - .devs-slider { - .swiper-slide { - width: 264px !important; - min-width: 0px !important; - } - } - .swiper-button-next, .swiper-button-prev { - display: none; - } - - .game-developer { - width: 264px; - height: 354px; - - &__head { - &-photo { - img { - width: 96px; - height: 96px; - } - } - - &-name { - font-size: 18px; - } - - &-position { - font-size: 12px; - } - } - } -} diff --git a/src/components/GameItem/GameItem.jsx b/src/components/GameItem/GameItem.jsx deleted file mode 100644 index 519be0e..0000000 --- a/src/components/GameItem/GameItem.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import { Link } from "react-router-dom"; -import { LazyLoadImage } from "react-lazy-load-image-component"; - -import Platforms from "../UI/Platforms/Platforms"; -import Ratings from "../UI/Ratings/Ratings"; - -import plus from '../../resources/img/icons/add_white_24dp.svg'; - -import './gameItem.scss'; - -const GameItem = ({game}) => { - - return ( - <div className="game-item"> - <div className="game-item__photo"> - {game.background_image === null - ? <img src="http://dummyimage.com/290x180.png/99cccc&text=No+Image" alt="game" /> - : <LazyLoadImage src={game.background_image} - width={320} height={180} - placeholderSrc={'https://via.placeholder.com/320x180/f2f2f2/969696.jpeg?text=+'} - effect="blur" - /> - } - </div> - <div className="game-item__content"> - <Platforms platforms={game.platforms}/> - <Link to={`/games/${game.slug}`} className="game-item__name">{game.name}</Link> - {game.released === null - ? <div className="game-item__released"><span className="label-none">Released: </span><span className="released-none">none</span></div> - : <div className="game-item__released"><span className="label">Released: </span>{game.released}</div> - } - <div className="game-item__rating"> - <span className="label">Rating: </span> - <Ratings type={'rating'} rating={game.rating}/> - </div> - <div className="game-item__metacritic"> - <span className="label">Metacritic: </span> - <Ratings type={'metacritic'} metacritic={game.metacritic}/> - </div> - <div className="game-item__panel"> - <div className="game-item__added"> - <span className="game-item__added__icon"> - <img src={plus} alt="plus-icon" /> - </span> - <span className="label-added">{game.added}</span> - </div> - <div className="game-item__details"> - <Link to={`/games/${game.slug}`} className="game-item__button">Details</Link> - </div> - </div> - </div> - </div> - ); -}; - -export default GameItem; \ No newline at end of file diff --git a/src/components/GameItem/gameItem.scss b/src/components/GameItem/gameItem.scss deleted file mode 100644 index 99f9a98..0000000 --- a/src/components/GameItem/gameItem.scss +++ /dev/null @@ -1,168 +0,0 @@ -.game-item { - width: 100%; - background-color: #202020; - color: #f2f2f2; - border-radius: 5px; - transition: 0.2s ease; - - &__photo { - width: 100%; - height: 180px; - overflow: hidden; - - span { - width: 100% !important; - height: 100% !important; - } - - img { - width: 100%; - height: 100%; - object-fit: cover; - object-position: center; - border-radius: 5px; - } - } - - &__content { - font-size: 16px; - padding: 15px; - - div, a { - margin-bottom: 15px; - } - - .label { - color: lightgrey; - } - } - - &__name { - font-size: 18px; - font-weight: 700; - display: -webkit-box; - -webkit-line-clamp: 1; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - background-image: none; - } - - &__released { - .released-none { - color: hsla(0, 0%, 100%, 0.4); - } - } - - &__panel { - display: flex; - align-items: center; - } - - &__added { - padding: 9px; - font-size: 16px; - border: 1px solid #f2f2f2; - border-radius: 5px; - max-width: 90px; - width: auto; - display: flex; - align-items: center; - justify-content: space-around; - margin-bottom: 0 !important; - margin-right: 10px; - - &__icon { - width: 24px; - } - - .label-added { - font-weight: 500; - color: #fff; - } - } - - &__details { - margin-bottom: 0 !important; - } - - &__button { - font-size: 16px; - font-weight: 500; - border: 1px solid #f2f2f2; - border-radius: 5px; - padding: 12px 12px; - } -} - -.big { - .game-item { - box-shadow: 0 10px 20px 0 rgba(0,0,0,.07); - border-radius: 12px; - - &__photo { - width: 100%; - height: 400px; - - span { - height: 400px !important; - width: 100% !important; - } - - img { - border-top-left-radius: 12px; - border-top-right-radius: 12px; - border-bottom-right-radius: 0px; - border-bottom-left-radius: 0px; - } - } - - &__content { - display: flex; - flex-wrap: wrap; - } - - &__name { - font-size: 32px; - width: 100%; - } - - .platforms { - width: 100%; - } - - &__panel { - width: 100%; - margin-top: 8px; - } - - &__released, &__rating, &__metacritic { - margin-right: 24px; - margin-top: 8px; - font-size: 14px; - } - - .label-rating { - font-size: 14px; - } - - .label-metacritic { - font-size: 14px; - } - } -} - -@media screen and (max-width: 576px) { - .game-item { - &__name { - font-size: 24px !important; - } - - &__content { - div, a { - margin-bottom: 19px; - } - } - } -} - diff --git a/src/components/GameRedditPosts/GameRedditPosts.jsx b/src/components/GameRedditPosts/GameRedditPosts.jsx deleted file mode 100644 index 54171fa..0000000 --- a/src/components/GameRedditPosts/GameRedditPosts.jsx +++ /dev/null @@ -1,56 +0,0 @@ -import { useState, useEffect } from "react"; -import { useFetching } from "../../hooks/useFetching"; - -import GamesService from "../../API/services/games/GamesService"; - -import Loader from "../UI/Loader/Loader"; -import Error from "../UI/Error/Error"; - -import { formatDate } from '../../utils/formatDate'; - -import './gameRedditPosts.scss'; - -const GameRedditPosts = ({id}) => { - const [posts, setPosts] = useState([]); - const [getPosts, isLoading, error] = useFetching(async () => { - const response = await GamesService.getRedditPostsById(id); - setPosts(response.data.results); - }); - - useEffect(() => { - getPosts(); - }, [id]); - - const postsContent = posts.length !== 0 - ? posts.map(post => { - return <div key={post.id} className="game-reddit__post"> - <a href={post.url} className="game-reddit__post-head"> - {post.image === null - ? null - : <div className="game-reddit__post-photo"> - <img src={post.image} alt="reddit-post" /> - </div> - } - <div className="game-reddit__post-name">{post.name}</div> - </a> - <div className="game-reddit__post-meta"> - <div className="game-reddit__post-date">{formatDate(post.created)}</div> - <div className="game-reddit__post-separator">|</div> - <a href={post.username_url} target="_blank" rel="noreferrer" className="game-reddit__post-username">{post.username}</a> - </div> - </div> - }) - : <div>There is no Reddit posts</div> - - return ( - <div className="game-reddit__inner"> - {isLoading - ? <Loader/> - : postsContent - } - {error && <Error/>} - </div> - ); -}; - -export default GameRedditPosts; \ No newline at end of file diff --git a/src/components/GameRedditPosts/gameRedditPosts.scss b/src/components/GameRedditPosts/gameRedditPosts.scss deleted file mode 100644 index 534fc00..0000000 --- a/src/components/GameRedditPosts/gameRedditPosts.scss +++ /dev/null @@ -1,99 +0,0 @@ -.game-reddit__inner { - display: flex; - flex-wrap: wrap; - align-items: flex-start; - margin-top: 20px; -} - -.game-reddit__post { - max-width: 290px; - margin-right: 48px; - width: 100%; - margin-bottom: 26px; - - &:nth-child(even) { - margin-right: 0; - } - - &-head { - display: flex; - width: 100%; - } - - &-photo { - max-width: 70px; - flex: 0 0 auto; - margin-right: 16px; - - img { - width: 70px; - height: 40px; - } - } - - &-name { - font-weight: 700; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; - text-overflow: ellipsis; - } - - &-meta { - margin-top: 8px; - display: flex; - align-items: center; - font-size: 12px; - color: hsla(0,0%,100%,.4); - } - - &-separator { - margin-left: 4px; - margin-right: 4px; - } -} - -@media screen and (max-width: 992px) { - .game-reddit { - &__post { - max-width: 100%; - width: 100%; - padding-bottom: 16px; - border-bottom: 1px solid hsla(0,0%,100%,.1); - margin-right: 0; - - a { - color: inherit; - } - - &-photo { - order: 1; - flex: 0 0 auto; - margin: 0 10px 0 16px; - } - - &-name { - flex: 1 1 auto; - } - - &-meta { - font-weight: 500; - } - } - } -} - -@media screen and (max-width: 992px) { - .game-page__reddit { - &-meta { - font-size: 14px; - } - - &__post { - &-name { - font-size: 14px; - } - } - } -} \ No newline at end of file diff --git a/src/components/GameScreenshots/GameScreenshots.jsx b/src/components/GameScreenshots/GameScreenshots.jsx deleted file mode 100644 index 2163520..0000000 --- a/src/components/GameScreenshots/GameScreenshots.jsx +++ /dev/null @@ -1,108 +0,0 @@ -import { useState, useEffect } from "react"; -import { useFetching } from "../../hooks/useFetching"; - -import GamesService from "../../API/services/games/GamesService"; - -import Loader from "../UI/Loader/Loader"; -import Modal from "../UI/Modal/Modal"; -import Error from "../UI/Error/Error"; - -import { Navigation, Pagination, Scrollbar, FreeMode } from 'swiper'; -import { Swiper, SwiperSlide } from 'swiper/react'; -import ImageGallery from 'react-image-gallery'; - -import 'swiper/scss'; -import 'swiper/css/navigation'; -import 'swiper/css/pagination'; -import 'swiper/css/scrollbar'; -import 'react-image-gallery/styles/scss/image-gallery.scss'; - -import './gameScreenshots.scss'; - -const GameScreenshots = ({id}) => { - const [screenshots, setScreenshots] = useState([]); - const [showGallery, setShowGallery] = useState(false); - const [selectedIndex, setSelectedIndex] = useState(0); - const [getScreenshots, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGameScreenshotsById(id); - setScreenshots(response.data.results); - }); - - useEffect(() => { - getScreenshots(); - }, [id]); - - const sliderBreakpoints = { - 0: { - slidesPerView: 'auto', - freeMode: {enabled: true}, - }, - 576: { - slidesPerView: 3, - spaceBetween: 10, - scrollbar: { draggable: true }, - }, - }; - - const handleImageClick = (index) => { - setShowGallery(true); - setSelectedIndex(index); - document.body.style.overflow = 'hidden'; - }; - - const handleCloseGallery = () => { - setShowGallery(false); - document.body.style.overflow = 'auto'; - }; - - const galleryImages = screenshots.map((screenshot) => ({ - original: screenshot.image, - thumbnail: screenshot.image, - })); - - return ( - <div className="game-screenshot__inner"> - {isLoading - ? <Loader/> - : <Swiper - modules={[Navigation, Pagination, Scrollbar, FreeMode]} - spaceBetween={10} - slidesPerView={3} - loop={true} - navigation - pagination={{ clickable: true }} - scrollbar={{ draggable: true }} - wrapperClass={'screenshots-slider'} - breakpoints={sliderBreakpoints} - > - {error - ? <Error/> - : screenshots.map((screenshot, index) => { - return <SwiperSlide key={screenshot.id} onClick={() => handleImageClick(index)}> - <img src={screenshot.image} alt="game-screenshot" className="game-screenshot" /> - </SwiperSlide> - }) - } - </Swiper> - } - {showGallery && ( - <Modal handleClose={handleCloseGallery}> - <ImageGallery - items={galleryImages} - startIndex={selectedIndex} - showPlayButton={false} - showFullscreenButton={false} - showNav={true} - loading={true} - showBullets={true} - showIndex={true} - indexSeparator="of" - /> - </Modal> - )} - {error && <Error/>} - </div> - ); -}; - -export default GameScreenshots; \ No newline at end of file diff --git a/src/components/GameScreenshots/gameScreenshots.scss b/src/components/GameScreenshots/gameScreenshots.scss deleted file mode 100644 index 5cb349d..0000000 --- a/src/components/GameScreenshots/gameScreenshots.scss +++ /dev/null @@ -1,107 +0,0 @@ -.game-screenshot__inner { - margin-top: 10px; - display: flex; - flex-wrap: wrap; - width: 1200px; - - .swiper-button-prev, .swiper-button-next { - color: #fff; - - &:after { - font-size: 25px; - } - } - - .swiper-pagination-bullet { - background-color: #fff; - } -} - -.game-screenshot { - display: block; -} - -.image-gallery { - &-left-nav, &-svg, &-right-nav { - padding: 35px 20px; - display: block; - } - - &-svg { - padding: 0px; - height: 61px !important; - width: 60px !important; - border: 1px solid hsla(0, 0%, 59.2%, .05); - border-radius: 50%; - background-color: hsla(0, 0%, 100%, .05); - - &:hover { - background-color: #fff; - } - } -} - -.image-gallery-thumbnail { - border: 0; - border-radius: 6px; - opacity: 0.3; - - &.active { - border: 0; - opacity: 1; - } - - &:hover { - border: 0; - } -} - -.image-gallery-thumbnail + .image-gallery-thumbnail { - margin: 20px 0 0 20px; -} - -.image-gallery-bullets .image-gallery-bullet { - padding: 4px; -} - -.image-gallery-index { - bottom: 0; - top: auto; -} - -.image-gallery-index-separator { - margin-right: 4px; - margin-left: 4px; -} - -.image-gallery-content .image-gallery-slide .image-gallery-image{ - max-height: calc(98vh - 80px); -} - -@media screen and (max-width: 1440px) { - .game-screenshot { - &__inner { - width: auto; - } - } -} - -@media screen and (max-width: 576px) { - .screenshots-slider { - .swiper-slide { - width: 300px !important; - } - } - .game-screenshot { - &__inner { - width: auto; - } - } - .swiper-button-next, .swiper-button-prev { - display: none; - } -} - - - - diff --git a/src/components/GamesList/GamesList.jsx b/src/components/GamesList/GamesList.jsx deleted file mode 100644 index e10ed85..0000000 --- a/src/components/GamesList/GamesList.jsx +++ /dev/null @@ -1,23 +0,0 @@ - -import { memo } from "react"; -import GameItem from "../GameItem/GameItem"; - -import './gamesList.scss'; - -const GamesList = ({gamesList, displayMode}) => { - return ( - <div className="games-list"> - <ul className={displayMode === 'column' ? 'games-list__ul column' : 'games-list__ul list'}> - {gamesList.map(game => { - return ( - <li key={game.id} className={displayMode === 'column' ? 'games-list__li default' : 'games-list__li big'}> - <GameItem game={game}/> - </li> - ) - })} - </ul> - </div> - ); -}; - -export default memo(GamesList); \ No newline at end of file diff --git a/src/components/GamesList/gamesList.scss b/src/components/GamesList/gamesList.scss deleted file mode 100644 index c8d51d7..0000000 --- a/src/components/GamesList/gamesList.scss +++ /dev/null @@ -1,63 +0,0 @@ -.games-list { - margin-top: 20px; - - &__ul { - display: grid; - - &.column { - grid-gap: 24px; - grid-template-columns: repeat(4, 1fr); - } - - &.list { - grid-gap: 24px 0px; - grid-template-columns: repeat(1, 1fr); - justify-items: center; - align-items: center; - } - } - - .column { - flex-direction: row; - } - - .list { - flex-direction: column; - align-items: center; - } - - &__li { - width: 100%; - display: flex; - - &.big { - max-width: 714px; - } - } -} - -@media screen and (max-width: 1440px) { - .games-list { - &__ul { - &.column { - grid-template-columns: repeat(3, 1fr); - } - } - } -} - -@media screen and (max-width: 992px) { - .games-list { - &__ul { - &.column { - grid-template-columns: repeat(1, 1fr); - } - } - } - - .page__control-display { - display: none; - } -} - - \ No newline at end of file diff --git a/src/components/Header/Header.jsx b/src/components/Header/Header.jsx deleted file mode 100644 index 6603381..0000000 --- a/src/components/Header/Header.jsx +++ /dev/null @@ -1,125 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { NavLink } from 'react-router-dom'; - -import SearchBar from '../SearchBar/SearchBar'; -import BurgerMenu from '../UI/BurgerMenu/BurgerMenu'; - -import './header.scss'; - -const Header = ({navigate}) => { - const [isDropdownOpen, setIsDropdownOpen] = useState(false); - const [isBurgerOpen, setIsBurgerOpen] = useState(false); - const [width, setWidth] = useState(window.innerWidth); - - const toggleMenu = () => { - setIsBurgerOpen(!isBurgerOpen); - }; - - const handleResize = () => { - setWidth(window.innerWidth); - }; - - const handleDropdownMouseEnter = () => { - setIsDropdownOpen(true); - }; - - const handleDropdownMouseLeave = () => { - setIsDropdownOpen(false); - }; - - useEffect(() => { - window.addEventListener("resize", handleResize); - return () => window.removeEventListener("resize", handleResize); - }, []); - - return ( - <header className="header"> - <div className="header__wrapper"> - <div className="header__item"> - <NavLink to="/" className="header__logo"> - GAME - </NavLink> - </div> - <div className="header__item header__item__search"> - <SearchBar navigate={navigate}/> - </div> - <div className="header__item"> - <div className={`burger-menu__overlay ${isBurgerOpen ? 'burger-menu__overlay--opened' : ''}`} - onClick={toggleMenu} - role="button"></div> - {width < 992 - ? <BurgerMenu isOpen={isBurgerOpen} toggleMenu={toggleMenu}/> - : <nav className="header__nav"> - <ul className="header__ul"> - <li className="header__li"> - <NavLink to="/" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Home</NavLink> - </li> - <li className="header__li dropdown-trigger" - onMouseEnter={handleDropdownMouseEnter} - onMouseLeave={handleDropdownMouseLeave} - ><NavLink to="/games" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Games</NavLink> - - {isDropdownOpen && ( - <ul className="dropdown"> - <li className="dropdown__li"> - <NavLink to="/games-by-rating">Games by rating</NavLink> - </li> - <li className="dropdown__li"> - <NavLink to="/games-by-metacritic">Games by metacritic</NavLink> - </li> - </ul> - )} - </li> - <li className="header__li"> - <NavLink to="/developers" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Developers</NavLink> - </li> - <li className="header__li"> - <NavLink to="/publishers" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Publishers</NavLink> - </li> - <li className="header__li"> - <NavLink to="/genres" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Genres</NavLink> - </li> - <li className="header__li"> - <NavLink to="/platforms" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Platforms</NavLink> - </li> - <li className="header__li"> - <NavLink to="/tags" - className={({ isActive }) => - isActive ? "header__link--active" : "header__link" - } - >Tags</NavLink> - </li> - </ul> - </nav> - } - </div> - </div> - </header> - ); -}; - -export default Header; \ No newline at end of file diff --git a/src/components/Header/header.scss b/src/components/Header/header.scss deleted file mode 100644 index 9224cf2..0000000 --- a/src/components/Header/header.scss +++ /dev/null @@ -1,150 +0,0 @@ -.header { - z-index: 10; - width: 100%; - flex-grow: 1; - - &__wrapper { - padding: 24px 40px; - display: flex; - justify-content: space-between; - align-items: center; - width: 100%; - max-width: 1920px; - margin: 0 auto; - } - - &__item { - display: flex; - justify-content: space-between; - align-items: center; - height: 44px; - margin: 0 16px; - - &:first-child { - margin-left: 0; - } - - &:last-child { - margin-right: 0; - } - - &__search { - min-width: 200px; - width: 100%; - flex-grow: 2; - } - } - - &__link { - font-size: 14px; - font-weight: 500; - text-transform: uppercase; - color: #fff; - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - transition: 0.2s ease; - - &--active { - font-weight: 700; - text-transform: uppercase; - font-size: 14px; - } - - &:hover { - color: hsla(0,0%,100%,.4); - } - } - - &__logo { - font-size: 21px; - font-weight: 900; - line-height: 1; - letter-spacing: 5px; - color: #fff; - background-image: none; - } - - &__ul { - display: flex; - align-items: center; - } - - &__li { - margin-right: 20px; - - - &:last-child { - margin-right: 0; - } - } - - .dropdown { - position: absolute; - top: 100%; - left: 0; - border: 1px solid #fff; - padding: 5px; - display: flex; - flex-direction: column; - z-index: 1000; - - &__link, a { - font-size: 13px; - font-weight: 500; - text-transform: uppercase; - color: #fff; - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - transition: 0.2s ease; - - &:hover { - color: hsla(0,0%,100%,.4); - } - } - - &__li { - padding: 3px 0px; - } - } - - .dropdown-trigger { - border-bottom: none; - position: relative; - } -} - -@media screen and (max-width: 1200px) { - .header { - &__li { - margin-right: 12px; - } - } -} - -@media screen and (max-width: 576px) { - .header { - &__logo { - font-size: 18px; - } - &__wrapper { - padding: 24px 10px; - flex-grow: 0; - } - - &__item { - margin: 0px 10px; - - &__search { - min-width: 0px; - } - } - } - - .search { - &-input { - height: 28px; - border-radius: 16px; - font-size: 14px; - - } - } -} - diff --git a/src/components/SearchBar/SearchBar.jsx b/src/components/SearchBar/SearchBar.jsx deleted file mode 100644 index a713128..0000000 --- a/src/components/SearchBar/SearchBar.jsx +++ /dev/null @@ -1,90 +0,0 @@ -import { useEffect, useRef, useContext, useState } from 'react'; -import { useNavigate } from 'react-router-dom'; - -import { SearchContext } from '../../context/SearchContext'; - -import './searchBar.scss' - -const SearchBar = () => { - const { searchFormData, setSearchFormData } = useContext(SearchContext); - const [showClose, setShowClose] = useState(false); - const inputRef = useRef(null); - const [width, setWidth] = useState(window.innerWidth); - - const navigate = useNavigate(); - - const handleResize = () => { - setWidth(window.innerWidth); - }; - - useEffect(() => { - function handleKeyPress(event) { - if (event.altKey && event.keyCode === 13) { // Alt + Enter - inputRef.current.focus(); - event.preventDefault(); - } - } - - window.addEventListener('keydown', handleKeyPress); - window.addEventListener("resize", handleResize); - return () => { - window.removeEventListener('keydown', handleKeyPress); - window.removeEventListener('resize', handleResize); - }; - }, []); - - const handleInputChange = (event) => { - console.log(event.target.value); - if (event.target.value !== '') { - setShowClose(true); - } else { - setShowClose(false); - } - setSearchFormData((prevState) => ({ - ...prevState, - query: event.target.value, - })); - }; - - const handleFormSubmit = (event) => { - event.preventDefault(); - navigate(`/search`); - }; - - const handleClearInput = () => { - setSearchFormData((prevState) => ({ - ...prevState, - query: '', - })); - setShowClose(false); - }; - - - return ( - <form className="search__form" onSubmit={handleFormSubmit}> - <div className="search-input__area"> - <input - ref={inputRef} - value={searchFormData.query} - type="text" - role="searchbox" - placeholder={width < 576 ? `Search` : `Search more than 500 000 games`} - className="search-input" - onChange={handleInputChange} - /> - <div className={showClose ? `search-hotkeys__wrapper hotkeys-hidden` : `search-hotkeys__wrapper`}> - <div className="search-hotkey">alt</div> - <span>+</span> - <div className="search-hotkey">enter</div> - </div> - <button className={showClose ? 'search__close-button' : `search__close-button close-hidden`} - onClick={handleClearInput} - type="reset"> - <span className="search__close-button__icon"></span> - </button> - </div> - </form> - ); -}; - -export default SearchBar; \ No newline at end of file diff --git a/src/components/SearchBar/searchBar.scss b/src/components/SearchBar/searchBar.scss deleted file mode 100644 index b86c39b..0000000 --- a/src/components/SearchBar/searchBar.scss +++ /dev/null @@ -1,96 +0,0 @@ -.search { - &__form { - width: 100%; - } - - &-input { - width: 100%; - height: 44px; - border-radius: 24px; - font-size: 14px; - font-weight: 400; - line-height: 14px; - color: hsla(0, 0%, 100%, .6) !important; - background: url('../../resources/img/icons/search.svg') no-repeat scroll 16px; - background-size: 14px; - background-color: hsla(0,0%,100%,.16); - padding: 0 12px 0 38px; - line-height: 14px; - opacity: 1; - transition: color .3s,background-color .3s,opacity .3s,width .05s linear; - - &:focus, &:hover { - color: #000 !important; - opacity: 1; - background: url('../../resources/img/icons/search-black.svg') no-repeat scroll 16px; - background-color: #fff; - } - - &__area { - width: 100%; - position: relative; - display: flex; - align-items: center; - } - } - - &-hotkeys__wrapper { - position: absolute; - right: 15px; - top: 11px; - display: flex; - align-items: center; - color: hsla(0,0%,100%,.5); - font-size: 11px; - font-family: monospace; - - span { - margin-right: 4px; - margin-left: 4px; - } - - &.hotkeys-hidden { - display: none; - } - } - - &-hotkey { - border: 1px solid hsla(0,0%,100%,.3); - border-radius: 3px; - padding: 3px 5px; - } - - &__close-button { - display: flex; - border-radius: 100%; - background-color: transparent; - border: none; - padding: 0; - margin: 0 4px 0 -31px; - cursor: pointer; - - &.close-hidden { - display: none; - } - - &__icon { - background: url('../../resources/img/icons/close-button.svg'); - background-size: cover; - height: 10px; - width: 10px; - margin: 6px; - } - } -} - -@media screen and (max-width: 1200px) { - .search { - &-input { - font-size: 12px; - } - - &-hotkeys__wrapper { - display: none; - } - } -} \ No newline at end of file diff --git a/src/components/UI/BurgerMenu/BurgerMenu.jsx b/src/components/UI/BurgerMenu/BurgerMenu.jsx deleted file mode 100644 index ce3f255..0000000 --- a/src/components/UI/BurgerMenu/BurgerMenu.jsx +++ /dev/null @@ -1,104 +0,0 @@ -import { NavLink } from 'react-router-dom'; - -import './burgerMenu.scss'; - -const BurgerMenu = ({isOpen, toggleMenu}) => { - return ( - <nav className="burger-menu"> - <button onClick={toggleMenu} className="burger-menu__button"> - <span className="burger-menu__button-bar" /> - <span className="burger-menu__button-bar" /> - <span className="burger-menu__button-bar" /> - </button> - {isOpen && ( - <div className="burger-menu__container"> - <ul className="burger-menu__list"> - <div className="burger-menu__list-col"> - <div className="burger-menu__list-title">Menu</div> - <li className="burger-menu__item"> - <NavLink to="/" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Home</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/games" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Popular Games</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/games-by-rating" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Games by rating</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/games-by-metacritic" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Games by metacritic</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/developers" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Developers</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/publishers" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Publishers</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/genres" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Genres</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/platforms" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Platforms</NavLink> - </li> - <li className="burger-menu__item"> - <NavLink to="/tags" - className={({ isActive }) => - isActive ? "burger-menu__link--active" : "burger-menu__link" - } - onClick={toggleMenu} - >Tags</NavLink> - </li> - </div> - </ul> - <div className="burger-menu__close-wrapper" onClick={toggleMenu} role="button" tabIndex={0}> - <div className="burger-menu__close"> - <span className="burger-menu__close-bar" /> - <span className="burger-menu__close-bar" /> - </div> - </div> - </div> - )} - </nav> - ); -}; - -export default BurgerMenu; \ No newline at end of file diff --git a/src/components/UI/BurgerMenu/burgerMenu.scss b/src/components/UI/BurgerMenu/burgerMenu.scss deleted file mode 100644 index 36e69d8..0000000 --- a/src/components/UI/BurgerMenu/burgerMenu.scss +++ /dev/null @@ -1,158 +0,0 @@ -.burger-menu { - color: #000; - &__button { - display: block; - width: 18px; - height: 18px; - background-color: transparent; - border: none; - cursor: pointer; - padding: 0; - position: relative; - - &-bar { - display: block; - width: 100%; - height: 2px; - background-color: #fff; - position: absolute; - left: 0; - transition: transform 0.2s ease-in-out; - border-radius: 3px; - - &:first-child { - top: 1.5px; - } - - &:last-child { - bottom: 0; - } - } - } - - &__close { - display: block; - width: 25px; - height: 25px; - background-color: transparent; - border: none; - cursor: pointer; - padding: 0; - position: relative; - - &-wrapper { - position: absolute; - top: 20px; - right: 20px; - width: 18px; - height: 18px; - z-index: 20; - } - - &-bar { - display: block; - width: 100%; - height: 3px; - background-color: #000; - position: absolute; - left: 0; - transition: transform 0.2s ease-in-out; - - &:first-child { - top: 11px; - transform: rotate(-45deg); - } - - &:last-child { - bottom: 10.5px; - transform: rotate(45deg); - } - } - - &:after { - transform: rotate(-45deg); - } - - &:before { - transform: rotate(45deg); - } - } - - &__container { - display: flex; - flex-direction: column; - position: fixed; - top: 12px !important; - bottom: 10px; - right: 5px !important; - left: unset !important; - width: 100%; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); - height: calc(100% - 32px); - max-height: 708px; - min-width: 310px; - max-width: 280px; - overflow-y: scroll; - z-index: 15; - padding: 0; - } - - &__list { - display: flex; - flex-direction: column; - position: relative; - z-index: 1; - background-color: #fff; - box-shadow: 0 2px 4px 0 rgba(0,0,0,.1); - height: 100%; - overflow-y: auto; - border-radius: 24px; - padding: 24px; - - &-col { - width: 75%; - } - - &-title { - font-size: 24px; - font-weight: 800; - margin-bottom: 8px; - } - } - - &__item { - font-size: 1.2rem; - padding: 6px 0px 8px; - cursor: pointer; - } - - &__link { - color: inherit; - - &--active { - color: inherit; - font-weight: 500; - background-image: linear-gradient(0deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 0%, 0.4) 0, hsla(0, 0%, 0%, 0.4) 1px, hsla(0, 0%, 100%, 0) 0); - } - } - - &__overlay { - position: fixed; - top: 0; - left: 0; - z-index: 14; - width: 100%; - height: 100%; - display: block; - content: ""; - background-color: rgba(0,0,0,.9); - transition: opacity .3s; - opacity: 0; - pointer-events: none; - - &--opened { - pointer-events: auto; - opacity: 1; - } - } -} diff --git a/src/components/UI/CardDefault/CardDefault.jsx b/src/components/UI/CardDefault/CardDefault.jsx deleted file mode 100644 index f25fd67..0000000 --- a/src/components/UI/CardDefault/CardDefault.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Link } from 'react-router-dom'; - -import './cardDefault.scss'; - -const CardDefault = ({buttonText, link, src, param}) => { - return ( - <div className="card-item" style={{backgroundImage: `linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(${src.image_background})`}}> - <div className="card-item__head"> - <Link to={param === 'slug' ? `/${link}/${src.slug}` : `/${link}/${src.id}`} className="card-item__head-name">{src.name}</Link> - <div className="card-item__head-buttonMore"> - <Link to={param === 'slug' ? `/${link}/${src.slug}` : `/${link}/${src.id}`}>{buttonText}</Link> - </div> - </div> - <div className="card-item__content"> - <div className="card-item__content"> - <div className="card-item__content-title">Known for {src.games_count} games</div> - <ul className="card-item__content-items"> - {src.games.map(game => { - return <li key={game.id} className="card-item__content-game"> - <Link to={`/games/${game.slug}`} className="card-item__content-name">{game.name}</Link> - <span className="card-item__content-added">{game.added}</span> - </li> - })} - </ul> - </div> - </div> - </div> - ); -}; - -export default CardDefault; \ No newline at end of file diff --git a/src/components/UI/CardDefault/cardDefault.scss b/src/components/UI/CardDefault/cardDefault.scss deleted file mode 100644 index 2c1e507..0000000 --- a/src/components/UI/CardDefault/cardDefault.scss +++ /dev/null @@ -1,103 +0,0 @@ -.card-item { - background-color: rgb(32, 32, 32); - max-width: 380px; - width: 100%; - height: 380px; - background-position: 50%; - background-repeat: no-repeat; - background-size: cover; - border-radius: 6px; - box-shadow: 0 10px 20px 0 rgba(0,0,0,.2); - padding: 32px 24px; - display: flex; - flex-direction: column; - flex: 0 1 auto; - - &__head { - flex: 1 1 auto; - text-align: center; - - &-name { - font-size: 24px; - font-weight: 700; - } - - &-buttonMore { - margin-top: 16px; - - a { - font-weight: 400; - font-size: 16px; - padding: 10px 35px; - border-radius: 4px; - color: #fff; - background-color: hsla(0,0%,100%,.1); - transition: 0.2s ease; - background-image: none; - display: inline-block; - - &:hover { - color: #000; - background-color: #fff; - opacity: 1 - } - } - } - } - &__content { - flex: 0 1 auto; - &-title { - font-size: 16px; - font-weight: 500; - } - - &-items { - width: 100%; - border-top: 1px solid hsla(0,0%,100%,.1); - margin-top: 8px; - padding-top: 8px; - } - - &-game { - display: flex; - justify-content: space-between; - font-size: 14px; - margin-bottom: 6px; - width: 100%; - } - - &-name { - max-width: 75%; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0); - } - - &-added { - background: url('../../../resources/img/icons/added-dev.svg') no-repeat 100% / 9px 16px; - padding-right: 12px; - opacity: .4; - } - } -} - -@media screen and (max-width: 1200px) { - .card-item { - max-width: none; - } -} - -@media screen and (max-width: 576px) { - .card-item { - &__content { - &-title { - font-size: 14px; - } - - &-name { - max-width: 65%; - } - } - } -} \ No newline at end of file diff --git a/src/components/UI/CardList/CardList.jsx b/src/components/UI/CardList/CardList.jsx deleted file mode 100644 index bb71137..0000000 --- a/src/components/UI/CardList/CardList.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import CardDefault from '../CardDefault/CardDefault'; - -import './cardList.scss'; - -const CardList = ({list, link, buttonText, param}) => { - return ( - <div className="card-list"> - <ul className="card-list__ul"> - {list.map(li => { - return ( - <li key={li.id} className="card-list__li"> - <CardDefault buttonText={buttonText} - src={li} - link={link} - param={param} /> - </li> - ) - })} - </ul> - </div> - ); -}; - -export default CardList; \ No newline at end of file diff --git a/src/components/UI/CardList/cardList.scss b/src/components/UI/CardList/cardList.scss deleted file mode 100644 index c3f5e04..0000000 --- a/src/components/UI/CardList/cardList.scss +++ /dev/null @@ -1,44 +0,0 @@ -.card-list { - margin-top: 20px; - - &__ul { - display: grid; - grid-gap: 20px 10px; - justify-items: center; - grid-template-columns: repeat(4, 1fr); - } - - &__li { - max-width: 320px; - width: 100%; - } -} - -@media screen and (max-width: 1440px) { - .card-list { - &__ul { - grid-template-columns: repeat(3, 1fr); - } - } -} - -@media screen and (max-width: 1200px) { - .card-list { - &__ul { - grid-template-columns: repeat(2, 1fr); - } - - &__li { - max-width: none; - } - } -} - -@media screen and (max-width: 992px) { - .card-list { - &__ul { - grid-template-columns: repeat(1, 1fr); - } - } -} - \ No newline at end of file diff --git a/src/components/UI/Error/Error.jsx b/src/components/UI/Error/Error.jsx deleted file mode 100644 index c19f645..0000000 --- a/src/components/UI/Error/Error.jsx +++ /dev/null @@ -1,18 +0,0 @@ - -import classes from './Error.module.scss'; - -const Error = () => { - return ( - <div className={classes.contentError}> - <div className={classes.contentErrorWrapper}> - <span className={classes.contentErrorIcon}></span> - <div className={classes.contentErrorText}> - <h2 className={classes.contentErrorTitle}>Woops! Something went wrong...</h2> - <p className={classes.contentErrorP}>We are unable to download this content at this time. Please try again later.</p> - </div> - </div> - </div> - ); -}; - -export default Error; \ No newline at end of file diff --git a/src/components/UI/Error/Error.module.scss b/src/components/UI/Error/Error.module.scss deleted file mode 100644 index e6876f6..0000000 --- a/src/components/UI/Error/Error.module.scss +++ /dev/null @@ -1,32 +0,0 @@ -.contentError { - width: 100%; - margin: 20px 0px; - &Icon { - background: url('../../../resources/img/icons/errorIcon.svg'); - background-repeat: no-repeat; - background-size: 80%; - background-position: center; - width: 2em; - height: 2em; - display: block; - margin-right: 8px; - } - - &Wrapper { - display: flex; - align-items: center; - justify-content: center; - } - - &Text { - line-height: 1.3; - } - - &Title { - font-size: 14px; - } - - &P { - font-size: 12px; - } -} \ No newline at end of file diff --git a/src/components/UI/Loader/Loader.jsx b/src/components/UI/Loader/Loader.jsx deleted file mode 100644 index 0e8a575..0000000 --- a/src/components/UI/Loader/Loader.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import { ProgressBar } from 'react-loader-spinner'; -import classes from './Loader.module.scss' - -const Loader = () => { - return ( - <div className={classes.loaderWrapper}> - <ProgressBar - height="80" - width="80" - ariaLabel="progress-bar-loading" - borderColor = '#F4442E' - barColor = '#1A1D2F' - /> - </div> - ); -}; - -export default Loader; \ No newline at end of file diff --git a/src/components/UI/Loader/Loader.module.scss b/src/components/UI/Loader/Loader.module.scss deleted file mode 100644 index a3673ae..0000000 --- a/src/components/UI/Loader/Loader.module.scss +++ /dev/null @@ -1,6 +0,0 @@ -.loaderWrapper { - display: flex; - justify-content: center; - margin-top: 20px; - margin-bottom: 20px; -} \ No newline at end of file diff --git a/src/components/UI/LoaderContent/LoaderContent.jsx b/src/components/UI/LoaderContent/LoaderContent.jsx deleted file mode 100644 index ace1ed0..0000000 --- a/src/components/UI/LoaderContent/LoaderContent.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import { TailSpin } from 'react-loader-spinner'; -import classes from './LoaderContent.module.scss' - -const LoaderContent = () => { - return ( - <div className={classes.loaderWrapper}> - <TailSpin - height="60" - width="60" - color = '#fff' - ariaLabel="tail-spin-loading" - radius="2" - /> - </div> - ); -}; - -export default LoaderContent; \ No newline at end of file diff --git a/src/components/UI/LoaderContent/LoaderContent.module.scss b/src/components/UI/LoaderContent/LoaderContent.module.scss deleted file mode 100644 index 47b7aa4..0000000 --- a/src/components/UI/LoaderContent/LoaderContent.module.scss +++ /dev/null @@ -1,9 +0,0 @@ -.loaderWrapper { - display: flex; - justify-content: center; - margin: 20px auto; - padding: 20px 0px; - border-radius: 6px; - background: #202020; - max-width: 400px; -} \ No newline at end of file diff --git a/src/components/UI/Modal/Modal.jsx b/src/components/UI/Modal/Modal.jsx deleted file mode 100644 index 36e5c32..0000000 --- a/src/components/UI/Modal/Modal.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import { useEffect } from 'react'; - -import modalCloseIcon from '../../../resources/img/icons/modal-close.svg'; - -import classes from './Modal.module.scss'; - -const Modal = (props) => { - function handleKeyDown(event) { - if (event.key === 'Escape') { - props.handleClose(); - } - } - - useEffect(() => { - window.addEventListener('keydown', handleKeyDown); - - return () => { - window.removeEventListener('keydown', handleKeyDown); - }; - }, []); - - - return ( - <div className={classes.modal}> - <div className={classes.modalOverlay} onClick={props.handleClose} /> - <button className={classes.modalClose} onClick={props.handleClose}> - <img src={modalCloseIcon} alt="close modal" className={classes.buttonClose}></img> - </button> - <div className={classes.modalContent}> - {props.children} - </div> - </div> - ); -}; - -export default Modal; \ No newline at end of file diff --git a/src/components/UI/Modal/Modal.module.scss b/src/components/UI/Modal/Modal.module.scss deleted file mode 100644 index 47819e8..0000000 --- a/src/components/UI/Modal/Modal.module.scss +++ /dev/null @@ -1,54 +0,0 @@ -.modal { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 9999; - - &Overlay { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.7); - } - - &Content { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - width: 100%; - height: 100%; - background-color: #000; - overflow: auto; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); - border-radius: 5px; - z-index: 10; - } - - &Close { - position: absolute; - top: 20px; - right: 20px; - z-index: 15; - display: flex; - justify-content: center; - align-items: center; - width: 50px; - height: 50px; - border: 1px solid hsla(0,0%,59.2%,.05); - border-radius: 50%; - background-color: hsla(0,0%,100%,.1); - cursor: pointer; - - .buttonClose { - width: 18px; - height: 19px; - } - } -} - - diff --git a/src/components/UI/MySelect/MySelect.jsx b/src/components/UI/MySelect/MySelect.jsx deleted file mode 100644 index 73d7765..0000000 --- a/src/components/UI/MySelect/MySelect.jsx +++ /dev/null @@ -1,28 +0,0 @@ - -import Select from 'react-select'; -import './mySelect.scss'; - -const MySelect = ({options, defaultValue, value, onChange}) => { - const selectOptions = options.map((option) => ({ - value: option.value, - label: option.name, - })); - - const selectValue = selectOptions.find((option) => option.value === value); - return ( - <div className="my-select__wrapper"> - <Select - className="my-select" - classNamePrefix="my-select" - defaultValue={{ value: '', label: defaultValue }} - options={selectOptions} - value={selectValue} - isSearchable={false} - onChange={(selectedOption) => onChange(selectedOption.value)} - - /> - </div> - ); -}; - -export default MySelect; \ No newline at end of file diff --git a/src/components/UI/MySelect/mySelect.scss b/src/components/UI/MySelect/mySelect.scss deleted file mode 100644 index 4ea7b49..0000000 --- a/src/components/UI/MySelect/mySelect.scss +++ /dev/null @@ -1,88 +0,0 @@ -.my-select { - &__wrapper { - display: flex; - } - &__control { - width: auto; - min-width: 150px; - padding: 3px 16px; - background-color: hsla(0,0%,100%,.07) !important; - border-radius: 8px !important; - font-size: 14px !important; - min-height: auto; - border: none !important; - color: #fff !important; - outline: none; - cursor: pointer !important; - - &--menu-is-open { - background-color: #fff !important; - color: #000 !important; - border-radius: 4px 4px 0px 0px !important; - } - - &--is-focused { - box-shadow: none !important; - } - } - - &__single-value { - color: inherit !important; - margin-right: 0 !important; - margin-left: 0 !important; - } - - &__value-container { - padding: 0px 5px 0px 0px !important; - } - - &__indicator-separator { - display: none; - } - - &__dropdown-indicator { - opacity: .4; - padding: 2px 0px !important; - } - - &__menu { - margin-top: 0 !important; - border: none !important; - - &-list { - border-radius: 0px 0px 4px 4px; - background-color: #fff; - box-shadow: 0 2px 4px 0 rgba(0,0,0,.1); - padding: 5px 10px 10px; - color: #000; - } - } - - &__option { - margin: 5px 0; - font-size: 12px !important; - border-radius: 4px; - - &--is-selected { - background-color: rgba(0,0,0,.1) !important; - color: #000 !important; - } - - &:hover { - background-color: rgba(0,0,0,.1); - } - } -} - -@media screen and (max-width: 576px) { - .my-select { - &__wrapper { - width: 100%; - display: block; - margin-bottom: 8px; - } - } -} - - - diff --git a/src/components/UI/Platforms/Platforms.jsx b/src/components/UI/Platforms/Platforms.jsx deleted file mode 100644 index acfe869..0000000 --- a/src/components/UI/Platforms/Platforms.jsx +++ /dev/null @@ -1,48 +0,0 @@ -import { Link } from 'react-router-dom'; - -import playstation from '../../../resources/img/icons/playstation.svg'; -import xbox from '../../../resources/img/icons/xbox.svg'; -import pc from '../../../resources/img/icons/windows.svg'; -import android from '../../../resources/img/icons/android.svg'; -import nintendo from '../../../resources/img/icons/nintendo.svg'; -import apple from '../../../resources/img/icons/ios.svg'; - -import './platforms.scss'; - -const Platforms = ({platforms}) => { - const usedIcons = {}; - const platformIcons = { - 'PlayStation 5': playstation, - 'PlayStation 4': playstation, - 'PlayStation 3': playstation, - 'PS Vita': playstation, - 'Xbox Series S/X': xbox, - 'Xbox 360': xbox, - 'Xbox One': xbox, - 'Android': android, - 'Nintendo Switch': nintendo, - 'iOS': apple, - 'macOS': apple, - 'PC': pc, - 'Linux': pc - }; - - return ( - <ul className="platforms"> - {platforms !== null - ? platforms.map((platform, index) => { - const iconPath = platformIcons[platform.platform.name]; - if (iconPath && !usedIcons[iconPath]) { // if icon has not been displayed yet - usedIcons[iconPath] = true; - return <li key={index} className="platform"><Link to={`/platforms/${platform.platform.id}`}><img src={platformIcons[platform.platform.name]} alt="platform-icon" /></Link></li>; - } else { - return null; - } - }) - : null - } - </ul> - ); -}; - -export default Platforms; \ No newline at end of file diff --git a/src/components/UI/Platforms/platforms.scss b/src/components/UI/Platforms/platforms.scss deleted file mode 100644 index 84f3dfa..0000000 --- a/src/components/UI/Platforms/platforms.scss +++ /dev/null @@ -1,19 +0,0 @@ -.platforms { - display: flex; - align-items: center; - min-height: 20px; - margin-bottom: 10px; -} - -.platform { - max-width: 17px; - margin-right: 8px; - - img { - width: 100%; - height: 100%; - display: block; - object-fit: contain; - object-position: center; - } -} \ No newline at end of file diff --git a/src/components/UI/Ratings/Ratings.jsx b/src/components/UI/Ratings/Ratings.jsx deleted file mode 100644 index e4ae442..0000000 --- a/src/components/UI/Ratings/Ratings.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import { formatRating } from '../../../utils/formatRating'; - -import './ratings.scss'; - -const Ratings = ({type, rating, metacritic}) => { - let ratingStatus = ''; - let metacriticStatus = ''; - - if (type === 'metacritic') { - switch(true) { - case (metacritic >= 80): - metacriticStatus = 'greenRating'; - break; - case (metacritic < 80 && metacritic > 50): - metacriticStatus = 'orangeRating'; - break; - case (metacritic <= 50): - metacriticStatus = 'redRating'; - break; - default: return null; - } - } - - if (type === 'rating') { - switch(true) { - case (rating >= 4.0): - ratingStatus = 'greenRating'; - break; - case (rating < 5.0 && rating >= 3.0): - ratingStatus = 'orangeRating'; - break; - case (rating < 3.0): - ratingStatus = 'redRating'; - break; - default: return null; - } - } - - return ( - <> - {type === 'rating' - ? rating === 0 ? <span className="rating-none">none</span> : <span className={"label-rating " + ratingStatus}>{formatRating(rating)}</span> - : metacritic === null ? <span className="rating-none">none</span> : <span className={"label-metacritic " + metacriticStatus}>{metacritic}</span> - } - </> - ); -}; - -export default Ratings; \ No newline at end of file diff --git a/src/components/UI/Ratings/ratings.scss b/src/components/UI/Ratings/ratings.scss deleted file mode 100644 index a8135d6..0000000 --- a/src/components/UI/Ratings/ratings.scss +++ /dev/null @@ -1,29 +0,0 @@ -.label-metacritic { - padding: 5px; - border-radius: 100%; - font-weight: 500; - font-size: 16px; - margin-left: 5px; -} - -.label-rating { - padding: 5px; - border-radius: 5px; - font-weight: 500; - font-size: 16px; - margin-left: 5px; -} - -.greenRating { - border: 1px solid #00CC00; -} -.orangeRating { - border: 1px solid #FFA500; -} -.redRating { - border: 1px solid #ff3300; -} - -.rating-none { - color: hsla(0, 0%, 100%, 0.4); -} \ No newline at end of file diff --git a/src/components/UI/Requirements/Requirements.jsx b/src/components/UI/Requirements/Requirements.jsx deleted file mode 100644 index 537957d..0000000 --- a/src/components/UI/Requirements/Requirements.jsx +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; - -import DOMPurify from 'dompurify'; - -import './requirements.scss'; - -const Requirements = ({platform, req, type}) => { - let output = ''; - const sanitizedText = DOMPurify.sanitize(req); - const regex = /\n([\w\s®]+:)/g; - - if (platform.platform.name === 'PC' && Object.keys(platform.requirements).length !== 0) { - let items = ''; - - if (type === 'Minimal' && req !== undefined) { - output = sanitizedText.replace(regex, '\n<strong>$1</strong>'); - if (output.includes('\n')) { // if formatted text - items = output.split('\n'); - output = items.map((item, index) => { - - if (index === 0) { - return null; - } - - if (item.length === 0) { - return null; // if empty text - } - return <li className="reqs-li" key={index} dangerouslySetInnerHTML={{ __html: item }}></li>; - }); - } else { // if raw text - return <li key={platform.platform.id} className="reqs-li">{req}</li>; - } - } - if (type === 'Recommended' && req !== undefined) { - output = sanitizedText.replace(regex, '\n<strong>$1</strong>'); - if (output.includes('\n')) { // if formatted text - items = output.split('\n'); - output = items.map((item, index) => { - - if (index === 0) { - return null; - } - - if (item.length === 0) { - return null; // if empty text - } - return <li className="reqs-li" key={index} dangerouslySetInnerHTML={{ __html: item }}></li>; - }); - } else { // if raw text - return <li key={platform.platform.id} className="reqs-li">{req}</li>; - } - } - - if (req === undefined) { // if is no requirement - output = <div className="reqs-block"> - <div className="reqs-undefined">There is no {type} requirements information for this game</div> - </div> - } - - } else { - return <div className="reqs-block"> - <div className="reqs-name">{type}</div> - <ul className="reqs-ul"> - <div className="reqs-undefined">There is no {type} requirements information for this game</div> - </ul> - </div> - } - - return ( - <div className="reqs-block"> - <div className="reqs-name">{type}</div> - <ul className="reqs-ul"> - {output} - </ul> - </div> - ); -}; - -export default Requirements; \ No newline at end of file diff --git a/src/components/UI/Requirements/requirements.scss b/src/components/UI/Requirements/requirements.scss deleted file mode 100644 index b8d1279..0000000 --- a/src/components/UI/Requirements/requirements.scss +++ /dev/null @@ -1,39 +0,0 @@ -.reqs { - &-name { - font-weight: 500; - font-size: 18px; - } - - &-ul { - padding-inline-start: 40px; - padding-block-start: 16px; - padding-block-end: 16px; - list-style-type: disc; - } - - &-li { - margin: 3px 0px; - font-size: 15px; - display: list-item; - list-style: inherit; - } - - &-undefined { - font-size: 15px; - } -} - -@media screen and (max-width: 576px) { - .reqs { - &-name { - font-size: 16px; - } - &-li { - font-size: 14px; - } - - &-undefined { - font-size: 14px; - } - } -} \ No newline at end of file diff --git a/src/components/UI/StoresAvailable/StoresAvailable.jsx b/src/components/UI/StoresAvailable/StoresAvailable.jsx deleted file mode 100644 index 0320fd4..0000000 --- a/src/components/UI/StoresAvailable/StoresAvailable.jsx +++ /dev/null @@ -1,121 +0,0 @@ -import { useState, useEffect } from "react"; -import { useFetching } from "../../../hooks/useFetching"; - -import GamesService from "../../../API/services/games/GamesService"; - -import Loader from "../Loader/Loader"; -import Error from "../Error/Error"; -import { Scrollbar, FreeMode } from 'swiper'; -import { Swiper, SwiperSlide } from 'swiper/react'; - -import psStore from '../../../resources/img/icons/psStore.svg'; -import steamStore from '../../../resources/img/icons/steamStore.svg'; -import xboxStore from '../../../resources/img/icons/xboxStore.svg'; -import nintendoStore from '../../../resources/img/icons/nintendoStore.svg'; -import epicGamesStore from '../../../resources/img/icons/epicgamesStore.svg'; -import googlePlayStore from '../../../resources/img/icons/googlePlayStore.svg'; -import appleStore from '../../../resources/img/icons/appleStore.svg'; -import gogStore from '../../../resources/img/icons/gogStore.svg'; -import itchIoStore from '../../../resources/img/icons/itchIoStore.svg'; - -import 'swiper/scss'; -import 'swiper/css/navigation'; -import 'swiper/css/pagination'; -import 'swiper/css/scrollbar'; -import './storesAvailable.scss'; - -const StoresAvailable = ({stores, id}) => { - const [urls, setUrls] = useState([]); - const [getUrls, isLoading, error] = useFetching(async () => { - const response = await GamesService.getStoreGameById(id); - setUrls(response.data.results); - }); - const [isMobile, setIsMobile] = useState(false); - - const checkIsMobile = () => { - setIsMobile(window.innerWidth < 992); - }; - - useEffect(() => { - getUrls(); - - checkIsMobile(); - window.addEventListener('resize', checkIsMobile); - - return () => { - window.removeEventListener('resize', checkIsMobile); - }; - }, [id, stores]); - - const usedIcons = {}; - const storeIcons = { - 'PlayStation Store': psStore, - 'Xbox 360 Store': xboxStore, - 'Xbox Store': xboxStore, - 'Epic Games': epicGamesStore, - 'Steam': steamStore, - 'Nintendo Store': nintendoStore, - 'Google Play': googlePlayStore, - 'App Store': appleStore, - 'GOG': gogStore, - 'itch.io' : itchIoStore, - }; - - const mobileSlides = stores.map(store => { - const url = urls.find(url => url.store_id === store.store.id); - if (url !== undefined) { - return ( - <SwiperSlide key={store.store.id}> - <a className="stores-button" - href={url.url} - target="_blank" rel="noreferrer" - key={store.store.id}> - <div>{store.store.name}</div> - <img src={storeIcons[store.store.name]} alt="store-icon" /> - </a> - </SwiperSlide> - ) - } - }); - - const desktopStores = stores.map(store => { - const url = urls.find(url => url.store_id === store.store.id); - if (url !== undefined) { - return ( - <a className="stores-button" - href={url.url} - target="_blank" rel="noreferrer" - key={store.store.id}> - <div>{store.store.name}</div> - <img src={storeIcons[store.store.name]} alt="store-icon" /> - </a> - ) - } - }); - - return ( - <div className="stores-inner"> - {isLoading - ? <Loader/> - : isMobile ? ( - <Swiper - modules={[Scrollbar, FreeMode]} - spaceBetween={5} - slidesPerView={"auto"} - scrollbar={{ draggable: false }} - freeMode={{enabled: true}} - wrapperClass={'stores-slider'} - > - {error - ? <Error/> - : mobileSlides - } - </Swiper> - ) - : desktopStores} - {error && <Error/>} - </div> - ); -}; - -export default StoresAvailable; \ No newline at end of file diff --git a/src/components/UI/StoresAvailable/storesAvailable.scss b/src/components/UI/StoresAvailable/storesAvailable.scss deleted file mode 100644 index 047b651..0000000 --- a/src/components/UI/StoresAvailable/storesAvailable.scss +++ /dev/null @@ -1,58 +0,0 @@ -.stores-inner { - margin-top: 10px; - display: flex; - flex-wrap: wrap; - align-items: center; - color: hsla(0, 0%, 100%, .5); -} - -.stores-button { - flex-basis: 33%; - margin-right: 10px; - margin-bottom: 5px; - padding: 10px 20px; - border-radius: 5px; - color: hsla(0, 0%, 100%, .5); - background-color: hsla(0, 0%, 100%, .1); - background-image: none; - text-align: center; - display: flex; - justify-content: center; - align-items: center; - transition: 0.2s ease; - - &:hover { - background-color: hsla(0, 0%, 100%, .4); - } - - img { - display: block; - max-width: 21px; - height: 21px; - width: 100%; - margin-left: 10px; - } -} - -@media screen and (max-width: 992px) { - .stores-slider { - .swiper-slide { - width: 184px !important; - } - } - .stores-button { - margin-right: 0; - width: 184px; - height: 40px; - font-size: 14px; - flex-basis: auto; - } -} - -.swiper-scrollbar { - height: 3px !important; - - &-drag { - background: hsla(0,0%,100%,.2); - } -} diff --git a/src/config.js b/src/config.js deleted file mode 100644 index 5bb145d..0000000 --- a/src/config.js +++ /dev/null @@ -1 +0,0 @@ -export const _APIKEY = '2e30963c61f74dac97f2c89f3b62186e'; \ No newline at end of file diff --git a/src/context/SearchContext.jsx b/src/context/SearchContext.jsx deleted file mode 100644 index b901ad5..0000000 --- a/src/context/SearchContext.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import { createContext, useState } from "react"; - -const SearchContext = createContext({ - searchFormData: { query: '' }, -}); - -function SearchProvider({ children }) { - const [searchFormData, setSearchFormData] = useState({ query: "" }); - return ( - <SearchContext.Provider value={{ searchFormData}}> - {children} - </SearchContext.Provider> - ); -} - -export { SearchContext, SearchProvider }; \ No newline at end of file diff --git a/src/hooks/useFetching.jsx b/src/hooks/useFetching.jsx deleted file mode 100644 index d283ce8..0000000 --- a/src/hooks/useFetching.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import { useState } from "react" - -export const useFetching = (callback) => { - const [isLoading, setIsLoading] = useState(true); - const [error, setError] = useState(''); - - const fetching = async (...args) => { - try { - setIsLoading(true); - await callback(...args); - } catch (e) { - setError(e.message); - } finally { - setIsLoading(false); - } - } - - return [fetching, isLoading, error] -} \ No newline at end of file diff --git a/src/hooks/useObserver.jsx b/src/hooks/useObserver.jsx deleted file mode 100644 index 7f2b7de..0000000 --- a/src/hooks/useObserver.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import { useEffect, useRef } from "react"; - -export const useObserver = (ref, canLoad, isLoading, cb) => { - const observer = useRef(); - useEffect(() => { - if (isLoading) { return }; - - if (observer.current) { - observer.current.disconnect(); - } - const callback = function(entries, observer) { - if (entries[0].isIntersecting && canLoad) { - cb(); - } - }; - - observer.current = new IntersectionObserver(callback); - observer.current.observe(ref.current); - }, [isLoading]) -} \ No newline at end of file diff --git a/src/hooks/useSortGames.jsx b/src/hooks/useSortGames.jsx deleted file mode 100644 index 2e54f18..0000000 --- a/src/hooks/useSortGames.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import { useMemo } from "react"; - -const useSortGames = (sort, gamesList) => { - const sortedGames = useMemo(() => { - if (sort) { - switch (sort) { - case 'name': - return [...gamesList].sort((a, b) => a[sort].localeCompare(b[sort])); - case 'rating': - return [...gamesList].sort((a, b) => b[sort] - a[sort]); - case 'metacritic': - return [...gamesList].sort((a, b) => b[sort] - a[sort]); - case 'added': - return [...gamesList].sort((a, b) => a[sort] - b[sort]); - case 'released': - return [...gamesList].sort((a, b) => new Date(a[sort]) - new Date(b[sort])); - default: - return [...gamesList]; - } - } else { - return [...gamesList]; - } - }, [sort, gamesList]); - - return sortedGames; -} - -export default useSortGames; \ No newline at end of file diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 2739754..0000000 --- a/src/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import App from './App'; - - -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(<App />); - diff --git a/src/pages/AppRouter.jsx b/src/pages/AppRouter.jsx deleted file mode 100644 index b1409fb..0000000 --- a/src/pages/AppRouter.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import { Routes, Route, Navigate } from "react-router-dom"; -import { routes } from "../router"; -import { useContext } from 'react'; -import { SearchContext } from '../context/SearchContext'; -import SearchResultPage from "./SearchResultPage/SearchResultPage"; - -const AppRouter = () => { - const { searchFormData } = useContext(SearchContext); - - return ( - <div> - <Routes> - {routes.map(route => { - return <Route path={route.path} - element={route.element} - key={route.path} /> - })} - <Route path="/search" element={<SearchResultPage searchQuery={searchFormData.query}/>} /> - <Route path="*" element={<Navigate to="/"/>} /> - </Routes> - </div> - ); -}; - -export default AppRouter; \ No newline at end of file diff --git a/src/pages/DevelopersPage/DevelopersPage.jsx b/src/pages/DevelopersPage/DevelopersPage.jsx deleted file mode 100644 index 2112079..0000000 --- a/src/pages/DevelopersPage/DevelopersPage.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import DevelopersService from '../../API/services/developers/DevelopersService'; - -import CardList from '../../components/UI/CardList/CardList'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const DevelopersPage = () => { - const [developersList, setDevelopersList] = useState([]); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getDevelopers, isLoading, error] = useFetching(async () => { - const response = await DevelopersService.getDevelopersList(limit, page); - setDevelopersList([...developersList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getDevelopers(); - }, [page, limit]); - - return ( - <div className="page developers-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Developers</h2> - </div> - <div className="developers-page__wrapper"> - <div className="page__about"> - <div className="page__about-text"> - <p>Here you can find information about the company or individuals who developed the game, - including their history, past projects, and any notable achievements. This information can be useful for players who - are interested in learning more about the game development process, as well as for those who want to support their - favorite developers by purchasing their games.</p> - <p>This category can also be helpful for players who are looking for new games to play. By browsing through - the different developers listed, players can discover new games that share similar styles or themes to their favorite titles. - This can help players expand their gaming horizons and find new games that they may not have otherwise discovered.</p> - </div> - </div> - <CardList list={developersList} link="developers" buttonText="More" param="slug"/> - {error && <Error/>} - </div> - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - ); -}; - -export default DevelopersPage; \ No newline at end of file diff --git a/src/pages/GenresPage/GenresPage.jsx b/src/pages/GenresPage/GenresPage.jsx deleted file mode 100644 index e54a644..0000000 --- a/src/pages/GenresPage/GenresPage.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import GenresService from '../../API/services/genres/GenresService'; - -import CardList from '../../components/UI/CardList/CardList'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const GenresPage = () => { - const [genresList, setGenresList] = useState([]); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getGenres, isLoading, error] = useFetching(async () => { - const response = await GenresService.getGenresList(limit, page); - setGenresList([...genresList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getGenres(); - }, [page, limit]); - - return ( - <div className="page genres-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Genres</h2> - </div> - <div className="genres-page__wrapper"> - <div className="page__about"> - <div className="page__about-text"> - <p>Here players can find a variety of games ranging from action, adventure, sports, puzzle, - racing, role-playing games, and more. Each genre offers a unique gameplay experience, allowing players to immerse - themselves in different worlds and engage with different challenges and mechanics.</p> - <p>This category can be helpful for players who are looking for new games to play or want to explore different types - of games. By browsing through the different genres, players can discover new games that match their preferred gameplay - mechanics or themes. This can help players expand their gaming horizons and find new games that they may not - have otherwise discovered.</p> - </div> - </div> - <CardList list={genresList} link="genres" buttonText="More" param="slug"/> - {error && <Error/>} - </div> - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - ); -}; - -export default GenresPage; \ No newline at end of file diff --git a/src/pages/MainPage/MainPage.jsx b/src/pages/MainPage/MainPage.jsx deleted file mode 100644 index 1880ecb..0000000 --- a/src/pages/MainPage/MainPage.jsx +++ /dev/null @@ -1,110 +0,0 @@ -import { Link } from 'react-router-dom'; -import { LazyLoadImage } from "react-lazy-load-image-component"; - -import heroPhoto from '../../resources/img/hero-photo.jpg' -import mainPhoto from '../../resources/img/main-hero.jpeg' - -import './mainPage.scss'; - -function MainPage() { - - - return ( - <div className="main"> - <div className="main-page__hero"> - <div className="container"> - <div className="main-page__hero-content"> - <div className="main-page__hero-text"> - <h1 className="main-page__hero-text__title">Explore GAME Video Games Database</h1> - <div className="main-page__hero-text__subtitle">There are two types of companies: hoarders and givers. GAME is the - largest video game database and game discovery service. And we are gladly sharing our 500,000+ games, search, and machine - learning recommendations with the world.</div> - <div className="main-page__hero-buttons__wrapper"> - <Link to="/games-by-rating" className="main-page__hero-button">Go to games</Link> - </div> - </div> - <div className="main-page__hero-photo"> - <LazyLoadImage src={heroPhoto} - width={900} height={450} - placeholderSrc={'https://via.placeholder.com/900x450/f2f2f2/969696.jpeg?text=+'} - effect="blur" - alt="hero" - className="hero-photo" - /> - </div> - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${mainPhoto})`}}></div> - </div> - </div> - </div> - </div> - <div className="page main-page"> - <div className="container"> - <div className="main-page__reasons"> - <h3 className="main-page__reasons-subtitle">Why GAME</h3> - <h2 className="main-page__reasons-title">500,000+ games for 50 platforms including mobiles</h2> - <ul className="main-page__reasons-list"> - <li className="main-page__reasons-item"> - <span className="main-page__reasons-item__icon">📷</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">2,100,000</span><br></br>screenshots - </p> - </li> - <li className="main-page__reasons-item item-blue"> - <span className="main-page__reasons-item__icon">👍</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">1,100,000</span><br></br>ratings - </p> - </li> - <li className="main-page__reasons-item item-white"> - <span className="main-page__reasons-item__icon">🗄️</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">220,000</span><br></br>developers - </p> - </li> - <li className="main-page__reasons-item item-blue"> - <span className="main-page__reasons-item__icon">🏷️</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">58,000</span><br></br>tags - </p> - </li> - <li className="main-page__reasons-item item-white"> - <span className="main-page__reasons-item__icon">📁</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">45,000</span><br></br>publishers - </p> - </li> - <li className="main-page__reasons-item"> - <span className="main-page__reasons-item__icon">👨💻</span> - <p className="main-page__reasons-item__text"> - <span className="main-page__reasons-item__counter">24,000</span><br></br>people - </p> - </li> - </ul> - <ul className="main-page__text-reasons"> - <li className="main-page__text-reasons__item"> - <p>Comprehensive video game data: descriptions, genres, release dates, links to stores, ESRB-ratings, average - playtime, Metacritic ratings, official websites, system requirements, DLCs and franchises.</p> - </li> - <li className="main-page__text-reasons__item"> - <p>Player activity data: Steam average playtime and GAME player counts and ratings.</p> - </li> - <li className="main-page__text-reasons__item"> - <p>Where to buy: links to digital distribution services.</p> - </li> - <li className="main-page__text-reasons__item"> - <p>Rapidly growing and getting better by user contribution and our algorithms.</p> - </li> - </ul> - </div> - </div> - </div> - </div> - ); -} - -export default MainPage; diff --git a/src/pages/MainPage/mainPage.scss b/src/pages/MainPage/mainPage.scss deleted file mode 100644 index 6e84ed6..0000000 --- a/src/pages/MainPage/mainPage.scss +++ /dev/null @@ -1,278 +0,0 @@ -.main { - position: relative; - background-color: transparent; - padding-top: 100px !important; - - &-page { - background-color: #e9eef2; - color: #000; - position: relative; - padding-top: 1px !important; - padding-bottom: 100px !important; - - &__hero { - padding-bottom: 80px; - - &-content { - display: flex; - justify-content: center; - } - - &-text { - max-width: 450px; - width: 100%; - margin-right: 64px; - - &__title { - font-size: 60px; - line-height: 72px; - font-weight: 800; - } - - &__subtitle { - margin-top: 12px; - font-size: 18px; - line-height: 26px; - } - } - - &-buttons__wrapper { - display: flex; - margin-top: 30px; - } - - &-button { - display: flex; - justify-content: center; - align-items: center; - border: 1px solid #ccc; - font-size: 18px; - padding: 0px 24px; - border-radius: 12px; - font-weight: 500; - height: 56px; - cursor: pointer; - background-image: none; - background: #fff; - color: #000; - - &:hover { - color: #fff; - background-color: #005ff9; - border-color: #005ff9; - } - } - - &-photo { - border-radius: 18px; - - span { - border-radius: 18px; - } - - .hero-photo { - filter: drop-shadow(0 20px 60px rgba(175, 175, 175, 0.15)); - border-radius: 18px; - width: 100%; - } - } - } - - &__reasons { - margin-top: 80px; - - &-subtitle { - font-size: 24px; - font-weight: 700; - text-align: center; - opacity: .6; - } - - &-title { - font-size: 40px; - font-weight: 800; - text-align: center; - max-width: 700px; - width: 100%; - margin: 16px auto 0px; - } - - &-list { - margin-top: 40px; - display: grid; - grid-template-columns: repeat(3,1fr); - grid-column-gap: 40px; - grid-row-gap: 32px; - } - - &-item { - padding: 88px 32px 36px; - position: relative; - color: #fff; - background-color: #161616; - box-shadow: 0 20px 60px 0 rgba(0,0,0,.15); - border-radius: 20px; - - &.item-white { - background-color: #fff; - color: #000; - } - - &.item-blue { - background-color: #005ff9; - - } - - &__icon { - position: absolute; - right: 18px; - top: 18px; - font-size: 36px; - line-height: normal; - } - - &__text { - font-size: 18px; - line-height: 28px; - font-weight: 500; - } - - &__counter { - font-size: 32px; - font-weight: 800; - } - } - } - - &__text-reasons { - margin-top: 80px; - display: grid; - grid-column-gap: 40px; - grid-template-columns: repeat(2,1fr); - - grid-row-gap: 12px; - - &__item { - display: flex; - align-items: center; - font-size: 21px; - line-height: 1.23; - padding: 24px 32px; - border-radius: 20px; - background-color: rgba(0,0,0,.04); - font-weight: 700; - } - } - } -} - -@media screen and (max-width: 1440px) { - .main-page { - &__hero { - &-photo { - span { - width: auto !important; - height: auto !important; - } - } - } - } -} - -@media screen and (max-width: 1200px) { - .main-page { - &__hero { - &-content { - flex-wrap: wrap; - } - - &-text { - max-width: none; - margin-right: 0; - margin-bottom: 35px; - } - } - } -} - -@media screen and (max-width: 992px) { - .main-page { - padding-bottom: 50px !important; - - &__reasons { - margin-top: 60px; - - &-list { - grid-template-columns: repeat(2, 1fr); - grid-gap: 20px 20px; - } - } - - &__text-reasons { - margin-top: 60px; - } - } -} - -@media screen and (max-width: 576px) { - .main { - padding-top: 50px !important; - } - .main-page { - &__hero { - padding-bottom: 40px; - - &-text { - margin-bottom: 0; - - &__title { - font-size: 40px; - line-height: 48px; - } - - &__subtitle { - font-size: 16px; - line-height: 26px; - margin-top: 16px; - } - } - - &-buttons__wrapper { - margin-top: 32px; - } - - &-photo { - display: none; - } - } - - &__reasons { - margin-top: 40px; - - &-title { - font-size: 32px; - line-height: 1.22; - margin: 12px auto 0px; - } - - &-subtitle { - font-size: 21px; - } - - &-list { - margin-top: 32px; - grid-template-columns: repeat(1, 1fr); - grid-gap: 12px 0px; - } - } - - &__text-reasons { - grid-template-columns: repeat(1, 1fr); - grid-gap: 12px 0px; - - &__item { - font-size: 18px; - } - } - } -} \ No newline at end of file diff --git a/src/pages/MetacriticGamesPage/MetacriticGamesPage.jsx b/src/pages/MetacriticGamesPage/MetacriticGamesPage.jsx deleted file mode 100644 index 31cf95a..0000000 --- a/src/pages/MetacriticGamesPage/MetacriticGamesPage.jsx +++ /dev/null @@ -1,161 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import GamesService from '../../API/services/games/GamesService'; - -import GamesList from '../../components/GamesList/GamesList'; -import MySelect from '../../components/UI/MySelect/MySelect'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const MetacriticGamesPage = () => { - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [getGamesList, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGamesListByParam('-metacritic', limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await GamesService.getGamesListByParam('-metacritic', limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await GamesService.getGamesListByParam('-metacritic', limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getGamesList(); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [page]); - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - console.log([...gamesList]) - return ( - <div className="page games-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Games by metacritic</h2> - </div> - <div className="games-page__wrapper"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => { - localStorage.setItem('displayMode', 'column'); - setDisplayMode('column'); - }} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}> - </button> - <button onClick={() => { - localStorage.setItem('displayMode', 'list'); - setDisplayMode('list'); - }} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}> - </button> - </div> - </div> - </div> - <GamesList gamesList={sortedGames} - page={page} - totalPages={totalPages} - limit={limit} - displayMode={displayMode} - /> - {error && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - </div> - ); -}; - -export default MetacriticGamesPage; \ No newline at end of file diff --git a/src/pages/PlatformsPage/PlatformsPage.jsx b/src/pages/PlatformsPage/PlatformsPage.jsx deleted file mode 100644 index db7d7eb..0000000 --- a/src/pages/PlatformsPage/PlatformsPage.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import PlatformsService from '../../API/services/platforms/PlatformsService'; - -import CardList from '../../components/UI/CardList/CardList'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const PlatformsPage = () => { - const [platformsList, setPlatformsList] = useState([]); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getPlatforms, isLoading, error] = useFetching(async () => { - const response = await PlatformsService.getPlatformsList(limit, page); - setPlatformsList([...platformsList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getPlatforms(); - }, [page, limit]); - - return ( - <div className="page platforms-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Platforms</h2> - </div> - <div className="platforms-page__wrapper"> - <div className="page__about"> - <div className="page__about-text"> - <p>Here players can find information about the different platforms on which the - game is available, including their technical requirements, compatible devices, and any specific features - or limitations. This information can be helpful for players who are interested in buying a game but need - to know if their device can run it.</p> - <p>This category can also be helpful for players who are looking for new games to play on a specific device. - By selecting a platform that matches their device, players can quickly find games that are compatible with their device - and explore new games that they may not have otherwise discovered.</p> - </div> - </div> - <CardList list={platformsList} link="platforms" buttonText="More" param="id"/> - {error && <Error/>} - </div> - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - ); -}; - -export default PlatformsPage; \ No newline at end of file diff --git a/src/pages/PopularGamesPage/PopularGamesPage.jsx b/src/pages/PopularGamesPage/PopularGamesPage.jsx deleted file mode 100644 index bcf9f61..0000000 --- a/src/pages/PopularGamesPage/PopularGamesPage.jsx +++ /dev/null @@ -1,164 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import GamesService from '../../API/services/games/GamesService'; - -import GamesList from '../../components/GamesList/GamesList'; -import MySelect from '../../components/UI/MySelect/MySelect'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const PopularGamesPage = () => { - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [platformParam, setPlatformParam] = useState(null); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const lastElement = useRef(); - - const [getGamesList, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGamesList(limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await GamesService.getGamesList(limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await GamesService.getGamesList(limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getGamesList(); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [page]); - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - return ( - <div className="page games-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Popular by users</h2> - </div> - <div className="games-page__wrapper"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => { - localStorage.setItem('displayMode', 'column'); - setDisplayMode('column'); - }} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}> - </button> - <button onClick={() => { - localStorage.setItem('displayMode', 'list'); - setDisplayMode('list'); - }} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}> - </button> - </div> - </div> - </div> - <GamesList gamesList={sortedGames} - page={page} - totalPages={totalPages} - limit={limit} - displayMode={displayMode} - /> - {error && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - </div> - ); -}; - -export default PopularGamesPage; \ No newline at end of file diff --git a/src/pages/PublishersPage/PublishersPage.jsx b/src/pages/PublishersPage/PublishersPage.jsx deleted file mode 100644 index 31b2d58..0000000 --- a/src/pages/PublishersPage/PublishersPage.jsx +++ /dev/null @@ -1,65 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import PublishersService from '../../API/services/publishers/PublishersService'; - -import CardList from '../../components/UI/CardList/CardList'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const PublishersPage = () => { - const [publishersList, setPublishersList] = useState([]); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getPublishers, isLoading, error] = useFetching(async () => { - const response = await PublishersService.getPublishersList(limit, page); - setPublishersList([...publishersList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getPublishers(); - }, [page, limit]); - - - return ( - <div className="page publishers-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Publishers</h2> - </div> - <div className="publishers-page__wrapper"> - <div className="page__about"> - <div className="page__about-text"> - <p>Here players can find information about the company responsible for publishing the game, including - their history, past projects, and any notable achievements. This information can be useful for players who are interested in - learning more about the companies involved in the gaming industry.</p> - <p>This category category can also be helpful for players who are looking for new games to play. By browsing through the different - publishers listed, players can discover new games that share similar styles or themes to their favorite titles. This can help - players expand their gaming horizons and find new games that they may not have otherwise discovered.</p> - </div> - </div> - <CardList list={publishersList} link="publishers" buttonText="More" param="slug"/> - {error && <Error/>} - </div> - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - ); -}; - -export default PublishersPage; \ No newline at end of file diff --git a/src/pages/RatingGamesPage/RatingGamesPage.jsx b/src/pages/RatingGamesPage/RatingGamesPage.jsx deleted file mode 100644 index 2d84c79..0000000 --- a/src/pages/RatingGamesPage/RatingGamesPage.jsx +++ /dev/null @@ -1,164 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import GamesService from '../../API/services/games/GamesService'; - -import GamesList from '../../components/GamesList/GamesList'; -import MySelect from '../../components/UI/MySelect/MySelect'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const RatingGamesPage = () => { - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const lastElement = useRef(); - - const [getGamesList, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGamesListByParam('-rating', limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await GamesService.getGamesListByParam('-rating', limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await GamesService.getGamesListByParam(limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getGamesList(); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [page]); - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - console.log([...gamesList]) - return ( - <div className="page games-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Games by user rating</h2> - </div> - <div className="games-page__wrapper"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => { - localStorage.setItem('displayMode', 'column'); - setDisplayMode('column'); - }} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}> - </button> - <button onClick={() => { - localStorage.setItem('displayMode', 'list'); - setDisplayMode('list'); - }} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}> - </button> - </div> - </div> - </div> - <GamesList gamesList={sortedGames} - page={page} - totalPages={totalPages} - limit={limit} - displayMode={displayMode} - /> - {error && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - </div> - ); -}; - -export default RatingGamesPage; \ No newline at end of file diff --git a/src/pages/SearchResultPage/SearchResultPage.jsx b/src/pages/SearchResultPage/SearchResultPage.jsx deleted file mode 100644 index 9a884b3..0000000 --- a/src/pages/SearchResultPage/SearchResultPage.jsx +++ /dev/null @@ -1,92 +0,0 @@ -import { useContext, useState, useEffect, useRef } from "react"; -import { SearchContext } from "../../context/SearchContext"; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from "../../hooks/useObserver"; - -import GamesService from "../../API/services/games/GamesService"; -import GamesList from "../../components/GamesList/GamesList"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './searchResultPage.scss'; - -const SearchResultPage = () => { - const {searchFormData} = useContext(SearchContext); - const [results, setResults] = useState([]); - const [displayMode, setDisplayMode] = useState('list'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getSearch, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGamesListBySearch(searchFormData.query, limit, page); - setResults(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const [getSearchByPage, isPageLoading, pageError] = useFetching(async () => { - const response = await GamesService.getGamesListBySearch(searchFormData.query, limit, page); - setResults([...results, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getSearch(); - setPage(1); - }, [searchFormData.query]); - - useEffect(() => { - getSearchByPage(); - }, [page]); - - console.log(results); - return ( - <div className="page search-page"> - <div className="container"> - <div className="section-header"> - {searchFormData.query === "" - ? <h2 className="section-title">Search</h2> - : <h2 className="section-title">Search by "{searchFormData.query}"</h2> - } - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <div className="search-page__wrapper"> - <GamesList gamesList={results} - page={page} - totalPages={totalPages} - limit={limit} - displayMode={displayMode} - /> - {error && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - </div> - ); -}; - -export default SearchResultPage; \ No newline at end of file diff --git a/src/pages/SearchResultPage/searchResultPage.scss b/src/pages/SearchResultPage/searchResultPage.scss deleted file mode 100644 index f07942b..0000000 --- a/src/pages/SearchResultPage/searchResultPage.scss +++ /dev/null @@ -1,10 +0,0 @@ -.search-page { - .section-header { - display: flex; - align-items: center; - } - - .section-title { - flex: 1 1 auto; - } -} \ No newline at end of file diff --git a/src/pages/SingleDelevoperPage/SingleDelevoperPage.jsx b/src/pages/SingleDelevoperPage/SingleDelevoperPage.jsx deleted file mode 100644 index 9359ebb..0000000 --- a/src/pages/SingleDelevoperPage/SingleDelevoperPage.jsx +++ /dev/null @@ -1,193 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { useParams } from "react-router-dom"; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from '../../hooks/useObserver'; - -import DevelopersService from "../../API/services/developers/DevelopersService"; -import DOMPurify from "dompurify"; - -import GamesList from "../../components/GamesList/GamesList"; -import MySelect from '../../components/UI/MySelect/MySelect'; -import Loader from "../../components/UI/Loader/Loader"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './singleDelevoperPage.scss'; - -const GameDelevoperPage = () => { - const [dev, setDev] = useState({}); - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const params = useParams(); - const lastElement = useRef(); - - const [getDeveloper, isDeveloperLoading, developerError] = useFetching(async () => { - const response = await DevelopersService.getDeveloperById(params.slug); - setDev(response.data); - }); - - const [getGames, isGamesLoading, gamesError] = useFetching(async () => { - const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const sanitizedText = DOMPurify.sanitize(dev.description); // text about - - useObserver(lastElement, page < totalPages, isGamesLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getDeveloper(); - getGames(); - window.scrollTo(0, 0); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [params.slug]); - - useEffect(() => { - getGames(); - }, [page]) - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - return ( - <div className="page developer-page"> - <div className="container"> - {isDeveloperLoading - ? <Loader/> - : <div className="developer-page__wrapper"> - <div className="developer-page__main"> - <div className="developer-page__head"> - <h1 className="developer-page__name"> - {dev.name} Developer - </h1> - </div> - </div> - <div className="developer-page__about"> - {dev.description === '' - ? <div className="developer-page__about-text">There is no information about this developer</div> - : <div className="developer-page__about-text" dangerouslySetInnerHTML={{__html: sanitizedText}}></div> - } - </div> - <div className="developer-page__games"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <GamesList displayMode={displayMode} gamesList={sortedGames}/> - {(developerError || gamesError) && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${dev.image_background})`}}></div> - </div> - </div> - </div> - ); -}; - -export default GameDelevoperPage; \ No newline at end of file diff --git a/src/pages/SingleDelevoperPage/singleDelevoperPage.scss b/src/pages/SingleDelevoperPage/singleDelevoperPage.scss deleted file mode 100644 index 765faa0..0000000 --- a/src/pages/SingleDelevoperPage/singleDelevoperPage.scss +++ /dev/null @@ -1,46 +0,0 @@ -.developer-page { - &__name { - font-size: 46px; - font-weight: 700; - } - - &__count { - text-transform: uppercase; - font-size: 14px; - margin-top: 3px; - } - - &__about { - margin-top: 10px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - p { - padding-block-start: 0.5em; - padding-block-end: 0.5em; - } - - h2, h3, h4, h5 { - font-weight: 500; - font-size: 18px; - } - } - } - - &__games { - margin-top: 20px; - } -} - -@media screen and (max-width: 992px) { - .developer-page { - padding-top: 50px !important; - - &__name { - font-size: 36px; - } - } -} \ No newline at end of file diff --git a/src/pages/SingleGamePage/SingleGamePage.jsx b/src/pages/SingleGamePage/SingleGamePage.jsx deleted file mode 100644 index 48368cf..0000000 --- a/src/pages/SingleGamePage/SingleGamePage.jsx +++ /dev/null @@ -1,263 +0,0 @@ - -import { useState, useEffect } from "react"; -import { useParams, Link } from "react-router-dom"; -import { useFetching } from "../../hooks/useFetching"; - -import GamesService from "../../API/services/games/GamesService"; -import DOMPurify from "dompurify"; - -import GameScreenshots from "../../components/GameScreenshots/GameScreenshots"; -import GameAchievements from "../../components/GameAchievements/GameAchievements"; -import GameDevs from "../../components/GameDevs/GameDevs"; -import GameRedditPosts from "../../components/GameRedditPosts/GameRedditPosts"; -import GameAdditions from "../../components/GameAdditions/GameAdditions"; - -import Platforms from "../../components/UI/Platforms/Platforms"; -import Loader from "../../components/UI/Loader/Loader"; -import Ratings from "../../components/UI/Ratings/Ratings"; -import StoresAvailable from "../../components/UI/StoresAvailable/StoresAvailable"; -import Requirements from "../../components/UI/Requirements/Requirements"; - -import './singleGamePage.scss'; - -const GamePage = () => { - const [game, setGame] = useState({}); - const [expanded, setExpanded] = useState(false); - const [getGamesList, isLoading, error] = useFetching(async () => { - const response = await GamesService.getGameBySlug(params.slug); - setGame(response.data); - }); - const params = useParams(); - - const sanitizedText = DOMPurify.sanitize(game.description); // text about - - useEffect(() => { - getGamesList(); - window.scrollTo(0, 0); - }, [params.slug]); - - return ( - <div className="page game-page"> - <div className="container"> - {isLoading - ? <Loader/> - : <div className="game-page__wrapper"> - <div className="game-page__main"> - <div className="game-page__head"> - {game.released === null - ? null - : <div className="game-page__head-date">{game.released}</div> - } - <div className="game-page__head-platforms"><Platforms platforms={game.platforms}/></div> - <div className="game-page__head-genres">{game.genres.map(genre => { - return <Link to={`/genres/${genre.slug}`} key={genre.id} className="genre">{genre.name}</Link> - })}</div> - <div className="game-page__head-playtime">Average playtime: {game.playtime} hours</div> - </div> - <h1 className="game-page__name">{game.name}</h1> - <div className="game-page__ratings"> - <div className="game-page__ratings-default"> - {game.rating === 0 ? null : <Ratings type="rating" rating={game.rating}/>} - {game.metacritic === null ? null : <Ratings type="metacritic" metacritic={game.metacritic}/>} - </div> - {game.ratings.length < 3 - ? <div className="game-page__ratings-users"> - <div className="rating-users">Not rated yet 😴</div> - </div> - : <div className="game-page__ratings-users"> - <div className="rating-users">🎯 {game.ratings[0].count}</div> - <div className="rating-users">👍 {game.ratings[1].count}</div> - <div className="rating-users">😐 {game.ratings[2].count}</div> - <div className="rating-users">⛔ {game.ratings[3].count}</div> - </div> - } - </div> - </div> - {game.stores.length === 0 - ? null - : <div className="game-page__stores"> - <h2 className="game-page__stores-head">Where to buy</h2> - <StoresAvailable stores={game.stores} id={game.id}/> - </div> - } - <div className="game-page__about"> - <h2 className="page__title">About</h2> - <div className="game-page__about-text"> - {expanded - ? <> - <span dangerouslySetInnerHTML={ - {__html: sanitizedText} - }></span> - <button className="expand" - onClick={() => setExpanded(!expanded)}>Show Less...</button></> - : ( - <> - <span dangerouslySetInnerHTML={ - {__html: sanitizedText.slice(0, sanitizedText.indexOf('.')) + '...'} - }></span> - <button className="expand" - onClick={() => setExpanded(!expanded)}>Show More...</button> - </> - ) - } - - </div> - </div> - <div className="game-page__meta"> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Platforms</div> - <div className="game-page__meta-info"> - {game.platforms.map((platform, index, array) => { - if ((index + 1) !== array.length) { - return <div key={platform.id} className="game-page__meta-link"><Link to={`/platforms/${platform.platform.id}`}>{platform.platform.name},</Link></div> - } else { - return <div key={platform.id} className="game-page__meta-link"><Link to={`/platforms/${platform.platform.id}`}>{platform.platform.name}</Link></div> - } - })} - </div> - </div> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Genre</div> - <div className="game-page__meta-info"> - {game.genres.map((genre, index, array) => { - if ((index + 1) !== array.length) { - return <div key={genre.id} className="game-page__meta-link"><Link to={`/genres/${genre.slug}`}>{genre.name},</Link></div> - } else { - return <div key={genre.id} className="game-page__meta-link"><Link to={`/genres/${genre.slug}`}>{genre.name}</Link></div> - } - })} - </div> - </div> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Release date</div> - <div className="game-page__meta-info"> - {game.tba - ? <div className="game-page__meta-text">TBA</div> - : <div className="game-page__meta-text">{game.released}</div> - } - </div> - </div> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Developers</div> - <div className="game-page__meta-info"> - {game.developers.map((dev, index, array) => { - if ((index + 1) !== array.length) { - return <div key={dev.id} className="game-page__meta-link"><Link to={`/developers/${dev.slug}`}>{dev.name},</Link></div> - } else { - return <div key={dev.id} className="game-page__meta-link"><Link to={`/developers/${dev.slug}`}>{dev.name}</Link></div> - } - })} - </div> - </div> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Publisher</div> - <div className="game-page__meta-info"> - {game.publishers.map((publ, index, array) => { - if ((index + 1) !== array.length) { - return <div key={publ.id} className="game-page__meta-link"><Link to={`/publishers/${publ.slug}`}>{publ.name},</Link></div> - } else { - return <div key={publ.id} className="game-page__meta-link"><Link to={`/publishers/${publ.slug}`}>{publ.name}</Link></div> - } - })} - </div> - </div> - <div className="game-page__meta-block"> - <div className="game-page__meta-title">Age rating</div> - <div className="game-page__meta-info"> - <div className="game-page__meta-text">{ - game.esrb_rating === null ? <span className="rating-none">-</span> : game.esrb_rating.name - }</div> - </div> - </div> - <div className="game-page__meta-block meta-big"> - <div className="game-page__meta-title">Website</div> - <div className="game-page__meta-info"> - {game.website !== "" - ? <div className="game-page__meta-link"><a href={game.website}>{game.website}</a></div> - : <span className="rating-none">-</span> - } - </div> - </div> - <div className="game-page__meta-block meta-big"> - <div className="game-page__meta-title">Tags</div> - <div className="game-page__meta-info"> - {game.tags.map(tag => { - return <div key={tag.id} className="game-page__meta-tag"><Link to={`/tags/${tag.slug}`}>{tag.name}</Link></div> - })} - </div> - </div> - </div> - <div className="game-page__reqs"> - <h2 className="page__title">System requirements for PC</h2> - <div className="game-page__reqs-inner"> - {game.platforms.map(platform => { - if (platform.platform.name === 'PC') { - return <> - <Requirements key={platform.id} platform={platform} type={'Minimal'} req={platform.requirements.minimum}/> - <Requirements key={platform.id} platform={platform} type={'Recommended'} req={platform.requirements.recommended}/> - </> - } else { - return null; - } - })} - </div> - </div> - <div className="game-page__media"> - <h2 className="page__title">Media</h2> - <div className="game-page__screenshots"> - <h2 className="game-page__screenshots-title">Screenshots</h2> - <GameScreenshots id={game.id}/> - </div> - </div> - <div className="game-page__developers"> - <h2 className="page__title">{game.name} created by</h2> - <GameDevs id={game.id}/> - </div> - <div className="game-page__achievements"> - <h2 className="page__title">The Rarest Achievements</h2> - <GameAchievements id={game.id}/> - </div> - <div className="game-page__reddit"> - <div className="game-page__reddit-head"> - <h2 className="page__title">Reddit Posts</h2> - {game.reddit_count !== 0 - ? <> - <div className="game-page__reddit-count">{game.reddit_count} posts</div> - <span className="game-page__reddit-separator">|</span> - <a className="game-page__reddit-buttonMore" href={game.reddit_url}>View All</a> - </> - : null - } - - </div> - {game.reddit_count !== 0 - ? <div className="game-page__reddit-meta"> - <div className="game-page__reddit-meta__head"> - <span className="game-page__reddit-name"><span className="game-page__reddit-label">Subreddit name: </span>{game.reddit_name}</span> - </div> - <div className="game-page__reddit-description"><span className="game-page__reddit-label">Description: </span>{game.reddit_description}</div> - </div> - : null - } - <GameRedditPosts id={game.id}/> - </div> - <div className="game-page__additions"> - <div className="page-art__additional" style={{backgroundImage: `radial-gradient(closest-side at center center, transparent, rgb(21, 21, 21)), url(${game.background_image_additional})`}}></div> - <h2 className="page__title">Additions for {game.name}</h2> - <GameAdditions id={game.id}/> - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${game.background_image})`}}></div> - </div> - </div> - </div> - ); -}; - -export default GamePage; \ No newline at end of file diff --git a/src/pages/SingleGamePage/singleGamePage.scss b/src/pages/SingleGamePage/singleGamePage.scss deleted file mode 100644 index 83d08bf..0000000 --- a/src/pages/SingleGamePage/singleGamePage.scss +++ /dev/null @@ -1,380 +0,0 @@ -.game-page { - &__wrapper { - max-width: 900px; - } - - &__head { - display: flex; - align-items: center; - width: 1200px; - - &-date, - &-platforms, - &-playtime, - &-genres { - text-transform: uppercase; - font-size: 14px; - margin-right: 20px; - } - - .platforms { - margin-bottom: 0; - } - - &-genres { - display: flex; - - .genre { - margin-right: 5px; - padding: 5px; - border: 1px solid #fff; - font-size: 13px; - background-image: none; - } - } - } - - &__name { - font-size: 46px; - font-weight: 700; - margin-top: 10px; - } - - &__ratings { - margin-top: 10px; - display: flex; - align-items: center; - - &-default { - display: flex; - align-items: center; - margin-right: 5px; - - span { - margin-right: 15px; - font-size: 17px; - padding: 7px; - } - - .greenRating { - border: 2px solid #00CC00; - } - - .orangeRating { - border: 2px solid #FFA500; - } - - .redRating { - border: 2px solid #ff3300; - } - } - - &-users { - display: flex; - align-items: center; - - .rating-users { - margin-right: 15px; - font-size: 17px; - font-weight: 500; - } - } - } - - &__stores { - margin-top: 20px; - - &-head { - font-size: 18px; - color: #a5a4a4; - } - } - - &__about { - margin-top: 32px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - .expand { - display: inline; - font-size: 13px; - margin-top: 5px; - font-weight: 400; - - &:hover { - text-decoration: underline; - } - } - - p { - padding-block-end: 0.2em; - padding-block-start: 0.2em; - } - - h2, h3, h4, h5, h6 { - font-weight: 500; - font-size: 17px; - margin: 5px 0px; - } - } - } - - &__meta { - margin-top: 30px; - display: flex; - flex-wrap: wrap; - - .meta-big { - flex-basis: 100%; - } - - &-block { - flex-basis: 50%; - margin-bottom: 20px; - - &:last-child { - margin-bottom: 0; - } - } - - &-title { - color: #a5a4a4; - font-size: 14px; - font-weight: 500; - } - - &-info { - display: flex; - flex-wrap: wrap; - margin-top: 10px; - } - - &-link, &-text, &-tag { - margin-right: 5px; - margin-bottom: 3px; - } - - &-link { - color: #fff; - background: linear-gradient(0deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .4) 0, hsla(0, 0%, 100%, .4) 1px, hsla(0, 0%, 100%, 0) 0); - transition: 0.2s ease; - - &:hover { - color: #a5a4a4; - } - } - - &-text { - color: #fff; - font-size: 16px; - } - - &-tag { - padding: 5px 10px; - background-color: hsla(0, 0%, 100%, 0.06); - border-radius: 5px; - transition: 0.2s ease; - - a { - background-image: none; - } - - &:hover { - background-color: #fff; - - a { - color: #000; - } - } - } - } - - &__reqs { - margin-top: 32px; - - &-head { - font-size: 24px; - font-weight: 500; - } - - &-inner { - margin-top: 16px; - } - } - - &__media { - margin-top: 32px; - - &-title { - font-size: 24px; - font-weight: 500; - } - } - - &__screenshots { - margin-top: 15px; - &-title { - font-size: 18px; - font-weight: 500; - } - } - - &__achievements { - margin-top: 32px; - } - - &__developers { - margin-top: 32px; - } - - &__reddit { - margin-top: 22px; - - a { - background-image: none; - } - - &-head { - display: flex; - align-items: baseline; - width: 100%; - } - - .page__title { - flex: 1 1 auto; - } - - &-meta { - margin-top: 10px; - font-size: 14px; - - &__head { - display: flex; - margin-bottom: 5px; - } - } - - &-label { - color: #a5a4a4; - font-weight: 500; - } - - &-count, &-buttonMore, &-separator { - font-size: 14px; - color: hsla(0,0%,100%,.4) !important; - } - - &-separator { - margin-right: 4px; - margin-left: 4px; - } - } - - &__additions { - margin-top: 32px; - } -} - -@media screen and (max-width: 1440px) { - .game__wrapper { - max-width: 1000px; - } - - .game-page { - &__head { - width: auto; - } - } -} - -@media screen and (max-width: 992px) { - .game-page { - padding-top: 40px !important; - - &__main { - display: flex; - flex-direction: column; - } - - &__name { - text-align: center; - font-size: 36px; - order: 0; - } - - &__head { - flex-wrap: wrap; - justify-content: center; - flex-direction: column; - order: 1; - - &-date, - &-platforms, - &-playtime, - &-genres { - margin: 10px 5px 0px 5px; - } - - &-platforms { - order: 1; - } - - &-playtime { - order: 2; - } - } - - &__ratings { - justify-content: center; - flex-wrap: wrap; - } - } -} - -@media screen and (max-width: 576px) { - .game-page { - padding-top: 30px !important; - - &__ratings { - order: 2; - - &-default, &-users { - margin-bottom: 10px; - } - } - - &__about-text { - font-size: 14px; - } - - &__meta { - &-title { - color: hsla(0,0%,100%,.2); - font-weight: 500; - } - - &-link { - font-size: 14px; - word-wrap: break-word; - } - - &-tag { - font-size: 14px; - } - - &-text { - font-size: 14px; - } - } - - .page__title { - font-weight: 500; - font-size: 20px; - } - } -} - - diff --git a/src/pages/SingleGenrePage/SingleGenrePage.jsx b/src/pages/SingleGenrePage/SingleGenrePage.jsx deleted file mode 100644 index 1c8e778..0000000 --- a/src/pages/SingleGenrePage/SingleGenrePage.jsx +++ /dev/null @@ -1,189 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { useParams } from "react-router-dom"; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from '../../hooks/useObserver'; - -import GenresService from "../../API/services/genres/GenresService"; -import DOMPurify from "dompurify"; - -import GamesList from "../../components/GamesList/GamesList"; -import MySelect from '../../components/UI/MySelect/MySelect'; -import Loader from "../../components/UI/Loader/Loader"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './singleGenrePage.scss'; -const SingleGenrePage = () => { - const [genre, setGenre] = useState({}); - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const params = useParams(); - const lastElement = useRef(); - const sanitizedText = DOMPurify.sanitize(genre.description); // text about - - const [getGenre, isGenreLoading, genreError] = useFetching(async () => { - const response = await GenresService.getGenreBySlug(params.slug); - setGenre(response.data); - }); - - const [getGames, isGamesLoading, gamesError] = useFetching(async () => { - const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page); - setGamesList([...gamesList, ...response.data.results]); - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isGamesLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getGenre(); - getGames(); - window.scrollTo(0, 0); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [params.slug]); - - useEffect(() => { - getGames(); - }, [page]) - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - - return ( - <div className="page genre-page"> - <div className="container"> - {isGenreLoading - ? <Loader/> - : <div className="genre-page__wrapper"> - <div className="genre-page__main"> - <div className="genre-page__head"> - <h1 className="genre-page__name"> - {genre.name} Genre - </h1> - </div> - </div> - <div className="genre-page__about"> - {genre.description === '' - ? <div className="genre-page__about-text">There is no information about this developer</div> - : <div className="genre-page__about-text" dangerouslySetInnerHTML={{__html: sanitizedText}}></div> - } - </div> - <div className="genre-page__games"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <GamesList displayMode={displayMode} gamesList={sortedGames}/> - {(genreError || gamesError) && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${genre.image_background})`}}></div> - </div> - </div> - </div> - ); -}; - -export default SingleGenrePage; \ No newline at end of file diff --git a/src/pages/SingleGenrePage/singleGenrePage.scss b/src/pages/SingleGenrePage/singleGenrePage.scss deleted file mode 100644 index a5499c9..0000000 --- a/src/pages/SingleGenrePage/singleGenrePage.scss +++ /dev/null @@ -1,46 +0,0 @@ -.genre-page { - &__name { - font-size: 46px; - font-weight: 700; - } - - &__count { - text-transform: uppercase; - font-size: 14px; - margin-top: 3px; - } - - &__about { - margin-top: 10px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - p { - padding-block-start: 0.5em; - padding-block-end: 0.5em; - } - - h2, h3, h4, h5 { - font-weight: 500; - font-size: 18px; - } - } - } - - &__games { - margin-top: 20px; - } -} - -@media screen and (max-width: 992px) { - .genre-page { - padding-top: 50px !important; - - &__name { - font-size: 36px; - } - } -} \ No newline at end of file diff --git a/src/pages/SinglePlatformPage/SinglePlatformPage.jsx b/src/pages/SinglePlatformPage/SinglePlatformPage.jsx deleted file mode 100644 index 011809e..0000000 --- a/src/pages/SinglePlatformPage/SinglePlatformPage.jsx +++ /dev/null @@ -1,167 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { useParams } from "react-router-dom"; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from '../../hooks/useObserver'; - -import PlatformsService from "../../API/services/platforms/PlatformsService"; -import DOMPurify from "dompurify"; - -import GamesList from "../../components/GamesList/GamesList"; -import MySelect from '../../components/UI/MySelect/MySelect'; -import Loader from "../../components/UI/Loader/Loader"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './singlePlatformPage.scss'; - -const SinglePlatformPage = () => { - const [platform, setPlatform] = useState({}); - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const params = useParams(); - const lastElement = useRef(); - const sanitizedText = DOMPurify.sanitize(platform.description); // text about - - const [getPlatform, isPlatformLoading, platformError] = useFetching(async () => { - const response = await PlatformsService.getPlatformById(params.id); - setPlatform(response.data); - }); - - const [getGames, isGamesLoading, gamesError] = useFetching(async () => { - const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isGamesPlatformLoading, platformLimit] = useFetching(async () => { - const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isGamesLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getPlatform(); - getGames(); - window.scrollTo(0, 0); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [params.id]); - - useEffect(() => { - getGames(); - }, [page]) - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - return ( - <div className="page platform-page"> - <div className="container"> - {isPlatformLoading - ? <Loader/> - : <div className="platform-page__wrapper"> - <div className="platform-page__main"> - <div className="platform-page__head"> - <h1 className="platform-page__name"> - Games for {platform.name} - </h1> - </div> - </div> - <div className="platform-page__about"> - {platform.description === '' - ? <div className="platform-page__about-text">There is no information about this platform</div> - : <div className="platform-page__about-text" dangerouslySetInnerHTML={{__html: sanitizedText}}></div> - } - </div> - <div className="platform-page__games"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <GamesList displayMode={displayMode} gamesList={sortedGames}/> - {(platformError || gamesError) && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${platform.image_background})`}}></div> - </div> - </div> - </div> - ); -}; - -export default SinglePlatformPage; \ No newline at end of file diff --git a/src/pages/SinglePlatformPage/singlePlatformPage.scss b/src/pages/SinglePlatformPage/singlePlatformPage.scss deleted file mode 100644 index b65d19e..0000000 --- a/src/pages/SinglePlatformPage/singlePlatformPage.scss +++ /dev/null @@ -1,46 +0,0 @@ -.platform-page { - &__name { - font-size: 46px; - font-weight: 700; - } - - &__count { - text-transform: uppercase; - font-size: 14px; - margin-top: 3px; - } - - &__about { - margin-top: 10px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - p { - padding-block-start: 0.5em; - padding-block-end: 0.5em; - } - - h2, h3, h4, h5 { - font-weight: 500; - font-size: 18px; - } - } - } - - &__games { - margin-top: 20px; - } -} - -@media screen and (max-width: 992px) { - .platform-page { - padding-top: 50px !important; - - &__name { - font-size: 36px; - } - } -} \ No newline at end of file diff --git a/src/pages/SinglePublisherPage/SinglePublisherPage.jsx b/src/pages/SinglePublisherPage/SinglePublisherPage.jsx deleted file mode 100644 index ca11a4e..0000000 --- a/src/pages/SinglePublisherPage/SinglePublisherPage.jsx +++ /dev/null @@ -1,191 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { useParams } from "react-router-dom"; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from '../../hooks/useObserver'; - -import PublishersService from "../../API/services/publishers/PublishersService"; -import DOMPurify from "dompurify"; - -import GamesList from "../../components/GamesList/GamesList"; -import MySelect from '../../components/UI/MySelect/MySelect'; -import Loader from "../../components/UI/Loader/Loader"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './singlePublisherPage.scss'; - -const SinglePublisherPage = () => { - const [publisher, setPublisher] = useState({}); - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const params = useParams(); - const lastElement = useRef(); - const sanitizedText = DOMPurify.sanitize(publisher.description); // text about - - const [getPublisher, isPublisherLoading, publisherError] = useFetching(async () => { - const response = await PublishersService.getPublisherBySlug(params.slug); - setPublisher(response.data); - }); - const [getGames, isGamesLoading, gamesError] = useFetching(async () => { - const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page, platformParam); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isGamesLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500); - }); - - useEffect(() => { - getPublisher(); - getGames(); - window.scrollTo(0, 0); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [params.slug]); - - useEffect(() => { - getGames(); - }, [page]) - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - return ( - <div className="page publisher-page"> - <div className="container"> - {isPublisherLoading - ? <Loader/> - : <div className="publisher-page__wrapper"> - <div className="publisher-page__main"> - <div className="publisher-page__head"> - <h1 className="publisher-page__name"> - {publisher.name} publisher - </h1> - </div> - </div> - <div className="publisher-page__about"> - {publisher.description === '' - ? <div className="publisher-page__about-text">There is no information about this publisher</div> - : <div className="publisher-page__about-text" dangerouslySetInnerHTML={{__html: sanitizedText}}></div> - } - </div> - <div className="publisher-page__games"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <GamesList displayMode={displayMode} gamesList={sortedGames}/> - {(publisherError || gamesError) && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${publisher.image_background})`}}></div> - </div> - </div> - </div> - ); -}; - -export default SinglePublisherPage; \ No newline at end of file diff --git a/src/pages/SinglePublisherPage/singlePublisherPage.scss b/src/pages/SinglePublisherPage/singlePublisherPage.scss deleted file mode 100644 index 6bec3c6..0000000 --- a/src/pages/SinglePublisherPage/singlePublisherPage.scss +++ /dev/null @@ -1,47 +0,0 @@ -.publisher-page { - &__name { - font-size: 46px; - font-weight: 700; - } - - &__count { - text-transform: uppercase; - font-size: 14px; - margin-top: 3px; - } - - &__about { - margin-top: 10px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - p { - padding-block-start: 0.5em; - padding-block-end: 0.5em; - } - - h2, h3, h4, h5 { - font-weight: 500; - font-size: 18px; - } - } - } - - &__games { - margin-top: 20px; - } -} - - -@media screen and (max-width: 992px) { - .publisher-page { - padding-top: 50px !important; - - &__name { - font-size: 36px; - } - } -} \ No newline at end of file diff --git a/src/pages/SingleTagPage/SingleTagPage.jsx b/src/pages/SingleTagPage/SingleTagPage.jsx deleted file mode 100644 index 725053f..0000000 --- a/src/pages/SingleTagPage/SingleTagPage.jsx +++ /dev/null @@ -1,192 +0,0 @@ -import { useState, useEffect, useRef } from "react"; -import { useParams } from "react-router-dom"; -import useSortGames from '../../hooks/useSortGames'; -import { useFetching } from "../../hooks/useFetching"; -import { useObserver } from '../../hooks/useObserver'; - -import TagsService from "../../API/services/tags/TagsService"; -import DOMPurify from "dompurify"; - -import GamesList from "../../components/GamesList/GamesList"; -import MySelect from '../../components/UI/MySelect/MySelect'; -import Loader from "../../components/UI/Loader/Loader"; -import LoaderContent from "../../components/UI/LoaderContent/LoaderContent"; -import Error from "../../components/UI/Error/Error"; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -import './singleTagPage.scss'; - -const SingleTagPage = () => { - const [tag, setTag] = useState({}); - const [gamesList, setGamesList] = useState([]); - const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column'); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(20); - const [page, setPage] = useState(1); - const [platformParam, setPlatformParam] = useState(null); - const [filter, setFilter] = useState({sort: '', query: ''}); - const sortedGames = useSortGames(filter.sort, gamesList); - const params = useParams(); - const lastElement = useRef(); - const sanitizedText = DOMPurify.sanitize(tag.description); // text about - - const [getTag, isTagLoading, tagError] = useFetching(async () => { - const response = await TagsService.getTagBySlug(params.slug); - setTag(response.data); - }); - - const [getGames, isGamesLoading, gamesError] = useFetching(async () => { - const response = await TagsService.getGamesByTagSlug(params.slug, limit, page); - setGamesList([...gamesList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => { - const response = await TagsService.getGamesByTagSlug(params.slug, limit, page); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => { - const response = await TagsService.getGamesByTagSlug(params.slug, limit, page, platformParam); - setGamesList(response.data.results); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - - useObserver(lastElement, page < totalPages, isGamesLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getTag(); - getGames(); - window.scrollTo(0, 0); - - const mode = localStorage.getItem('displayMode'); - if (mode) { - setDisplayMode(mode); - } - }, [params.slug]); - - useEffect(() => { - getGames(); - }, [page]) - - useEffect(() => { - getGamesListWithLimit(); - }, [limit]); - - useEffect(() => { - getGamesByPlatform(); - }, [platformParam]); - - return ( - <div className="page tag-page"> - <div className="container"> - {isTagLoading - ? <Loader/> - : <div className="tag-page__wrapper"> - <div className="tag-page__main"> - <div className="tag-page__head"> - <h1 className="tag-page__name"> - Games by {tag.name} Tag - </h1> - </div> - </div> - <div className="tag-page__about"> - {tag.description === '' - ? <div className="tag-page__about-text">There is no information about this tag</div> - : <div className="ptagpage__about-text" dangerouslySetInnerHTML={{__html: sanitizedText}}></div> - } - </div> - <div className="tag-page__games"> - <div className="page__control"> - <div className="page__control-filters"> - <MySelect - value={filter.query} - onChange={selectedSort => setFilter({...filter, sort: selectedSort})} - defaultValue="Sort by" - options={[ - {value: 'default', name: 'Default'}, - {value: 'name', name: 'By name'}, - {value: 'released', name: 'By released date'}, - {value: 'rating', name: 'By user rating'}, - {value: 'metacritic', name: 'By metacritic'}, - {value: 'added', name: 'By added'}, - ]} - /> - <MySelect - value={filter.query} - onChange={selectedSort => setPlatformParam(selectedSort)} - defaultValue="Platform" - options={[ - {value: null, name: 'Default'}, - {value: 4, name: 'Windows'}, - {value: 5, name: 'macOS'}, - {value: 6, name: 'Linux'}, - {value: 187, name: 'PlayStation 5'}, - {value: 18, name: 'PlayStation 4'}, - {value: 16, name: 'PlayStation 3'}, - {value: 1, name: 'Xbox One'}, - {value: 14, name: 'Xbox 360'}, - {value: 7, name: 'Nintendo Switch'}, - {value: 3, name: 'iOS'}, - {value: 21, name: 'Android'}, - {value: 171, name: 'Web'}, - ]} - /> - <MySelect - value={limit} - onChange={value => setLimit(value)} - defaultValue="Page size" - options={[ - {value: 'default', name: 'Default'}, - {value: 15, name: '15 games'}, - {value: 10, name: '10 games'}, - {value: 5, name: '5 games'}, - ]} - /> - </div> - <div className="page__control-display"> - <div className="page__control-display__title">Display options:</div> - <div className="page__control-display__items"> - <button onClick={() => setDisplayMode('column')} - className={displayMode === 'column' - ? 'page__control-display__option display-column display-active' - : 'page__control-display__option display-column'}></button> - <button onClick={() => setDisplayMode('list')} - className={displayMode === 'list' - ? 'page__control-display__option display-list display-active' - : 'page__control-display__option display-list'}></button> - </div> - </div> - </div> - <GamesList displayMode={displayMode} gamesList={sortedGames}/> - {(tagError || gamesError) && <Error/>} - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} - </div> - </div> - } - </div> - <div className="page-art"> - <div className="page-art__wrapper"> - <div - className="art" - style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${tag.image_background})`}}></div> - </div> - </div> - </div> - ); -}; - -export default SingleTagPage; \ No newline at end of file diff --git a/src/pages/SingleTagPage/singleTagPage.scss b/src/pages/SingleTagPage/singleTagPage.scss deleted file mode 100644 index 36adc67..0000000 --- a/src/pages/SingleTagPage/singleTagPage.scss +++ /dev/null @@ -1,46 +0,0 @@ -.tag-page { - &__name { - font-size: 46px; - font-weight: 700; - } - - &__count { - text-transform: uppercase; - font-size: 14px; - margin-top: 3px; - } - - &__about { - margin-top: 10px; - - &-text { - font-size: 16px; - margin-top: 10px; - line-height: 1.3; - - p { - padding-block-start: 0.5em; - padding-block-end: 0.5em; - } - - h2, h3, h4, h5 { - font-weight: 500; - font-size: 18px; - } - } - } - - &__games { - margin-top: 20px; - } -} - -@media screen and (max-width: 992px) { - .tag-page { - padding-top: 50px !important; - - &__name { - font-size: 36px; - } - } -} \ No newline at end of file diff --git a/src/pages/TagsPage/TagsPage.jsx b/src/pages/TagsPage/TagsPage.jsx deleted file mode 100644 index ffc33f1..0000000 --- a/src/pages/TagsPage/TagsPage.jsx +++ /dev/null @@ -1,64 +0,0 @@ -import { useState, useEffect, useRef } from 'react'; -import { useFetching } from '../../hooks/useFetching'; -import { useObserver } from '../../hooks/useObserver'; - -import TagsService from '../../API/services/tags/TagsService'; - -import CardList from '../../components/UI/CardList/CardList'; -import LoaderContent from '../../components/UI/LoaderContent/LoaderContent'; -import Error from '../../components/UI/Error/Error'; - -import { getTotalPageCount } from '../../utils/getTotalPageCount'; - -const TagsPage = () => { - const [tagsList, setTagsList] = useState([]); - const [totalPages, setTotalPages] = useState(0); - const [limit, setLimit] = useState(10); - const [page, setPage] = useState(1); - const [getPlatforms, isLoading, error] = useFetching(async () => { - const response = await TagsService.getTagssList(limit, page); - setTagsList([...tagsList, ...response.data.results]); - - const totalCount = response.data.count; - setTotalPages(getTotalPageCount(totalCount, limit)) - }); - const lastElement = useRef(); - - useObserver(lastElement, page < totalPages, isLoading, () => { - setTimeout(() => { - setPage(page + 1); - }, 500) - }); - - useEffect(() => { - getPlatforms(); - }, [page, limit]); - return ( - <div className="page platforms-page"> - <div className="container"> - <div className="section-header"> - <h2 className="section-title">Tags</h2> - </div> - <div className="platforms-page__wrapper"> - <div className="page__about"> - <div className="page__about-text"> - <p>Tags are essentially keywords or labels that are associated with a particular video game. They are used to categorize games - into different genres, themes, or gameplay features, making it easier for you to browse and discover new games that - match your preferences.</p> - <p>For example, if you're a fan of first-person shooters, you can easily find games with the "FPS" tag. Similarly, if you're - interested in puzzle games, you can look for games with the "Puzzle" or "Brain Teaser" tags. Tags also help you to refine your search results, - by allowing you to filter games based on certain criteria. You can narrow down your search results by selecting multiple tags, such as "Action," - "Open World," and "Fantasy," to find games that match your specific interests.</p> - </div> - </div> - <CardList list={tagsList} link="tags" buttonText="More" param="slug"/> - {error && <Error/>} - </div> - <div ref={lastElement} className="observer"></div> - {(page < totalPages || isLoading) ? <LoaderContent/> : null} - </div> - </div> - ); -}; - -export default TagsPage; \ No newline at end of file diff --git a/src/resources/img/icons/linux.svg b/src/resources/img/icons/linux.svg deleted file mode 100644 index 946d2e5..0000000 --- a/src/resources/img/icons/linux.svg +++ /dev/null @@ -1 +0,0 @@ -<svg viewBox="0 0 15 18" xmlns="http://www.w3.org/2000/svg"><path d="M14.52 14.452c-.513-.216-.733-.503-.712-.93.022-.5-.254-.866-.385-1.01.079-.312.31-1.386 0-2.32-.334-.999-1.352-2.525-2.403-4.025-.43-.616-.45-1.285-.474-2.06-.022-.74-.048-1.579-.45-2.51C9.66.582 8.785 0 7.694 0a3.23 3.23 0 00-1.829.572c-1.05.744-.91 2.366-.819 3.44.013.147.024.286.031.404.061 1.052.006 1.606-.067 1.774-.047.11-.279.423-.524.755-.254.343-.541.732-.777 1.094-.281.436-.508 1.103-.728 1.747-.16.471-.312.917-.46 1.183-.28.512-.21.99-.152 1.21-.106.076-.259.225-.388.505-.156.342-.473.526-1.132.657-.303.063-.512.194-.621.388-.16.283-.073.638.006.881.117.357.044.583-.088.993-.03.095-.065.202-.1.32a.59.59 0 00.06.504c.248.391.974.529 1.722.62.447.054.935.237 1.408.415.463.173.942.353 1.377.408.066.008.131.012.195.012.657 0 .954-.447 1.048-.631a11.36 11.36 0 011.889-.23 8 8 0 011.878.199c.072.142.262.466.566.633.166.093.398.147.636.147.254 0 .737-.062 1.119-.475.38-.414 1.333-.944 2.029-1.33.155-.087.3-.167.427-.24.39-.223.604-.54.585-.872a.735.735 0 00-.463-.63zm-8.647-.08c-.049-.351-.49-.7-1-1.104-.417-.33-.89-.705-1.02-1.022-.27-.654-.057-1.804.313-2.396.183-.296.332-.746.477-1.18.156-.47.317-.956.497-1.168.286-.332.55-.978.597-1.486.267.262.682.595 1.066.595a.613.613 0 00.17-.024c.263-.078.649-.307 1.022-.528.322-.191.718-.426.868-.448.256.378 1.743 3.757 1.895 4.842a5.266 5.266 0 01-.071 1.847 1.289 1.289 0 00-.177-.013c-.414 0-.524.232-.552.37-.074.36-.082 1.512-.082 1.771-.15.195-.908 1.116-1.995 1.281-.443.066-.857.1-1.23.1-.318 0-.521-.026-.606-.039l-.546-.642c.215-.109.43-.34.374-.755zm.693-10.586a.863.863 0 00-.05.024 1.073 1.073 0 00-.011-.115c-.06-.353-.288-.609-.542-.609a.373.373 0 00-.058.005c-.151.026-.27.142-.335.308.057-.363.257-.631.495-.631.278 0 .514.385.514.842 0 .057-.004.115-.013.176zm2.166.272a.916.916 0 00.04-.268c0-.414-.256-.738-.583-.738-.319 0-.578.331-.578.738 0 .028 0 .056.003.084a10.386 10.386 0 00-.05-.02A1.156 1.156 0 017.51 3.5c0-.495.308-.898.686-.898.38 0 .687.403.687.898 0 .206-.055.403-.15.559zm-.28.963c-.005.025-.016.036-.145.105a3.894 3.894 0 00-.246.14l-.067.043c-.272.168-.907.564-1.079.587-.117.016-.19-.03-.352-.144a5.075 5.075 0 00-.118-.08c-.293-.198-.482-.416-.503-.501.095-.076.333-.266.454-.379.247-.235.495-.393.617-.393l.019.001c.144.027.5.172.76.279.12.049.224.092.297.118.23.082.35.185.364.224zM10.52 16.02c.13-.6.279-1.418.255-1.9-.006-.11-.015-.229-.024-.344-.017-.215-.043-.535-.017-.63a.11.11 0 01.018-.007c0 .276.06.825.487 1.017.128.057.273.086.433.086.429 0 .904-.216 1.1-.416a2.05 2.05 0 00.278-.376.465.465 0 01.02.177c-.026.406.166.945.532 1.144l.053.029c.13.07.477.257.482.345 0 0-.003.01-.022.03-.087.08-.392.24-.687.395-.524.275-1.117.586-1.384.874-.375.406-.8.678-1.056.678a.27.27 0 01-.084-.012c-.278-.09-.507-.502-.384-1.09zm-9.49-1.533c-.028-.136-.05-.244-.026-.348.017-.078.39-.16.548-.196.223-.05.454-.101.605-.195.204-.127.314-.361.412-.568.07-.15.143-.304.23-.354a.048.048 0 01.027-.007c.162 0 .503.351.7.665.05.08.142.238.248.421.32.55.757 1.3.985 1.553.206.226.54.661.457 1.035-.06.29-.379.525-.454.577a.454.454 0 01-.101.01c-.438 0-1.303-.374-1.768-.574l-.068-.03c-.26-.112-.684-.182-1.094-.25-.326-.055-.772-.129-.846-.196-.06-.069.01-.294.07-.492.045-.142.09-.29.115-.444a1.634 1.634 0 00-.04-.607z" fill="#FFF"/></svg> \ No newline at end of file diff --git a/src/resources/img/icons/reddit-posts.png b/src/resources/img/icons/reddit-posts.png deleted file mode 100644 index b6c32bf..0000000 Binary files a/src/resources/img/icons/reddit-posts.png and /dev/null differ diff --git a/src/router/index.jsx b/src/router/index.jsx deleted file mode 100644 index acf6b73..0000000 --- a/src/router/index.jsx +++ /dev/null @@ -1,37 +0,0 @@ - -import MainPage from '../pages/MainPage/MainPage'; - -import PopularGamesPage from '../pages/PopularGamesPage/PopularGamesPage'; -import RatingGamesPage from '../pages/RatingGamesPage/RatingGamesPage'; -import MetacriticGamesPage from '../pages/MetacriticGamesPage/MetacriticGamesPage'; - -import DevelopersPage from "../pages/DevelopersPage/DevelopersPage"; -import PublishersPage from "../pages/PublishersPage/PublishersPage"; -import GenresPage from '../pages/GenresPage/GenresPage'; -import PlatformsPage from '../pages/PlatformsPage/PlatformsPage'; -import TagsPage from '../pages/TagsPage/TagsPage'; - -import SingleDelevoperPage from '../pages/SingleDelevoperPage/SingleDelevoperPage'; -import SingleGamePage from '../pages/SingleGamePage/SingleGamePage'; -import SinglePublisherPage from '../pages/SinglePublisherPage/SinglePublisherPage'; -import SingleGenrePage from '../pages/SingleGenrePage/SingleGenrePage'; -import SinglePlatformPage from '../pages/SinglePlatformPage/SinglePlatformPage'; -import SingleTagPage from '../pages/SingleTagPage/SingleTagPage'; - -export const routes = [ - {path: '/', element: <MainPage/>}, - {path: '/games', element: <PopularGamesPage/>}, - {path: '/games-by-rating', element: <RatingGamesPage/>}, - {path: '/games-by-metacritic', element: <MetacriticGamesPage/>}, - {path: '/games/:slug', element: <SingleGamePage/>}, - {path: '/developers', element: <DevelopersPage/>}, - {path: '/developers/:slug', element: <SingleDelevoperPage/>}, - {path: '/publishers', element: <PublishersPage/>}, - {path: '/publishers/:slug', element: <SinglePublisherPage/>}, - {path: '/genres', element: <GenresPage/>}, - {path: '/genres/:slug', element: <SingleGenrePage/>}, - {path: '/platforms', element: <PlatformsPage/>}, - {path: '/platforms/:id', element: <SinglePlatformPage/>}, - {path: '/tags', element: <TagsPage/>}, - {path: '/tags/:slug', element: <SingleTagPage/>}, -] \ No newline at end of file diff --git a/src/utils/formatDate.jsx b/src/utils/formatDate.jsx deleted file mode 100644 index 3bfa7f3..0000000 --- a/src/utils/formatDate.jsx +++ /dev/null @@ -1,13 +0,0 @@ -export const formatDate = (dateString) => { - const months = [ - 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' - ]; - - const date = new Date(dateString); - const year = date.getFullYear(); - const month = months[date.getMonth()]; - const day = date.getDate(); - - const formattedDate = `${month} ${day}, ${year}`; - return formattedDate; -} \ No newline at end of file diff --git a/src/utils/formatRating.jsx b/src/utils/formatRating.jsx deleted file mode 100644 index 0b81e38..0000000 --- a/src/utils/formatRating.jsx +++ /dev/null @@ -1,9 +0,0 @@ -export const formatRating = (ratingString) => { - const formattedRating = parseFloat(ratingString).toFixed(2); - // Проверяем, есть ли входное значение десятичное значение - if (formattedRating.split(".")[0] === "00") { - return formattedRating + ".00"; - } else { - return formattedRating; - } -} \ No newline at end of file diff --git a/src/utils/getTotalPageCount.jsx b/src/utils/getTotalPageCount.jsx deleted file mode 100644 index c87f680..0000000 --- a/src/utils/getTotalPageCount.jsx +++ /dev/null @@ -1,3 +0,0 @@ -export const getTotalPageCount = (totalCount, limit) => { - return Math.ceil(totalCount / limit); -} diff --git a/src/utils/setContent.jsx b/src/utils/setContent.jsx deleted file mode 100644 index 2db5918..0000000 --- a/src/utils/setContent.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import Loader from "../components/UI/Loader/Loader"; - -const setContent = (ComponentView, data, process) => { - switch (process) { - case true: - return <Loader/> - case false: - return <ComponentView data={data}/>; - default: - throw new Error('Unexpected process state'); - } -} - -export default setContent; \ No newline at end of file diff --git a/static/css/main.35b704d0.css b/static/css/main.35b704d0.css new file mode 100644 index 0000000..f13b56f --- /dev/null +++ b/static/css/main.35b704d0.css @@ -0,0 +1,2 @@ +@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400;1,500;1,700;1,900&display=swap);.search__form{width:100%}.search-input{background:url(/react-games.github.io/static/media/search.c800c77628d90b1efa10.svg) no-repeat scroll 16px;background-color:hsla(0,0%,100%,.16);background-size:14px;border-radius:24px;color:hsla(0,0%,100%,.6)!important;font-size:14px;font-weight:400;height:44px;line-height:14px;opacity:1;padding:0 12px 0 38px;transition:color .3s,background-color .3s,opacity .3s,width .05s linear;width:100%}.search-input:focus,.search-input:hover{background:url(/react-games.github.io/static/media/search-black.9f81706b2945e3f4b04b.svg) no-repeat scroll 16px;background-color:#fff;color:#000!important;opacity:1}.search-input__area{align-items:center;display:flex;position:relative;width:100%}.search-hotkeys__wrapper{align-items:center;color:hsla(0,0%,100%,.5);display:flex;font-family:monospace;font-size:11px;position:absolute;right:15px;top:11px}.search-hotkeys__wrapper span{margin-left:4px;margin-right:4px}.search-hotkeys__wrapper.hotkeys-hidden{display:none}.search-hotkey{border:1px solid hsla(0,0%,100%,.3);border-radius:3px;padding:3px 5px}.search__close-button{background-color:transparent;border:none;border-radius:100%;cursor:pointer;display:flex;margin:0 4px 0 -31px;padding:0}.search__close-button.close-hidden{display:none}.search__close-button__icon{background:url(/react-games.github.io/static/media/close-button.587771c20e9ec1093ee6.svg);background-size:cover;height:10px;margin:6px;width:10px}@media screen and (max-width:1200px){.search-input{font-size:12px}.search-hotkeys__wrapper{display:none}}.burger-menu{color:#000}.burger-menu__button{background-color:transparent;border:none;cursor:pointer;display:block;height:18px;padding:0;position:relative;width:18px}.burger-menu__button-bar{background-color:#fff;border-radius:3px;display:block;height:2px;left:0;position:absolute;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:100%}.burger-menu__button-bar:first-child{top:1.5px}.burger-menu__button-bar:last-child{bottom:0}.burger-menu__close{background-color:transparent;border:none;cursor:pointer;display:block;height:25px;padding:0;position:relative;width:25px}.burger-menu__close-wrapper{height:18px;position:absolute;right:20px;top:20px;width:18px;z-index:20}.burger-menu__close-bar{background-color:#000;display:block;height:3px;left:0;position:absolute;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:100%}.burger-menu__close-bar:first-child{top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.burger-menu__close-bar:last-child{bottom:10.5px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.burger-menu__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.burger-menu__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.burger-menu__container{bottom:10px;box-shadow:0 3px 6px rgba(0,0,0,.2);display:flex;flex-direction:column;height:calc(100% - 32px);left:auto!important;max-height:708px;max-width:280px;min-width:310px;overflow-y:scroll;padding:0;position:fixed;right:5px!important;top:12px!important;width:100%;z-index:15}.burger-menu__list{background-color:#fff;border-radius:24px;box-shadow:0 2px 4px 0 rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:24px;position:relative;z-index:1}.burger-menu__list-col{width:75%}.burger-menu__list-title{font-size:24px;font-weight:800;margin-bottom:8px}.burger-menu__item{cursor:pointer;font-size:1.2rem;padding:6px 0 8px}.burger-menu__link{color:inherit}.burger-menu__link--active{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),rgba(0,0,0,.4) 0,rgba(0,0,0,.4) 1px,hsla(0,0%,100%,0) 0);color:inherit;font-weight:500}.burger-menu__overlay{background-color:rgba(0,0,0,.9);content:"";display:block;height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .3s;width:100%;z-index:14}.burger-menu__overlay--opened{opacity:1;pointer-events:auto}.header{flex-grow:1;width:100%;z-index:10}.header__wrapper{margin:0 auto;max-width:1920px;padding:24px 40px;width:100%}.header__item,.header__wrapper{align-items:center;display:flex;justify-content:space-between}.header__item{height:44px;margin:0 16px}.header__item:first-child{margin-left:0}.header__item:last-child{margin-right:0}.header__item__search{flex-grow:2;min-width:200px;width:100%}.header__link{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);color:#fff;font-weight:500;transition:.2s ease}.header__link,.header__link--active{font-size:14px;text-transform:uppercase}.header__link--active{font-weight:700}.header__link:hover{color:hsla(0,0%,100%,.4)}.header__logo{background-image:none;color:#fff;font-size:21px;font-weight:900;letter-spacing:5px;line-height:1}.header__ul{align-items:center;display:flex}.header__li{margin-right:20px}.header__li:last-child{margin-right:0}.header .dropdown{border:1px solid #fff;display:flex;flex-direction:column;left:0;padding:5px;position:absolute;top:100%;z-index:1000}.header .dropdown a,.header .dropdown__link{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);color:#fff;font-size:13px;font-weight:500;text-transform:uppercase;transition:.2s ease}.header .dropdown a:hover,.header .dropdown__link:hover{color:hsla(0,0%,100%,.4)}.header .dropdown__li{padding:3px 0}.header .dropdown-trigger{border-bottom:none;position:relative}@media screen and (max-width:1200px){.header__li{margin-right:12px}}@media screen and (max-width:576px){.header__logo{font-size:18px}.header__wrapper{flex-grow:0;padding:24px 10px}.header__item{margin:0 10px}.header__item__search{min-width:0}.search-input{border-radius:16px;font-size:14px;height:28px}}.footer{padding:20px 0;width:100%}.footer__wrapper{display:flex;justify-content:center}.footer-text{background-image:none;font-family:monospace;font-size:12px;opacity:.4;text-align:center}.footer-text:hover{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);opacity:.8}.main{background-color:transparent;padding-top:100px!important}.main,.main-page{position:relative}.main-page{background-color:#e9eef2;color:#000;padding-bottom:100px!important;padding-top:1px!important}.main-page__hero{padding-bottom:80px}.main-page__hero-content{display:flex;justify-content:center}.main-page__hero-text{margin-right:64px;max-width:450px;width:100%}.main-page__hero-text__title{font-size:60px;font-weight:800;line-height:72px}.main-page__hero-text__subtitle{font-size:18px;line-height:26px;margin-top:12px}.main-page__hero-buttons__wrapper{display:flex;margin-top:30px}.main-page__hero-button{align-items:center;background-image:none;background:#fff;border:1px solid #ccc;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:18px;font-weight:500;height:56px;justify-content:center;padding:0 24px}.main-page__hero-button:hover{background-color:#005ff9;border-color:#005ff9;color:#fff}.main-page__hero-photo,.main-page__hero-photo span{border-radius:18px}.main-page__hero-photo .hero-photo{border-radius:18px;-webkit-filter:drop-shadow(0 20px 60px hsla(0,0%,69%,.15));filter:drop-shadow(0 20px 60px rgba(175,175,175,.15));width:100%}.main-page__reasons{margin-top:80px}.main-page__reasons-subtitle{font-size:24px;font-weight:700;opacity:.6;text-align:center}.main-page__reasons-title{font-size:40px;font-weight:800;margin:16px auto 0;max-width:700px;text-align:center;width:100%}.main-page__reasons-list{grid-column-gap:40px;grid-row-gap:32px;display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px}.main-page__reasons-item{background-color:#161616;border-radius:20px;box-shadow:0 20px 60px 0 rgba(0,0,0,.15);color:#fff;padding:88px 32px 36px;position:relative}.main-page__reasons-item.item-white{background-color:#fff;color:#000}.main-page__reasons-item.item-blue{background-color:#005ff9}.main-page__reasons-item__icon{font-size:36px;line-height:normal;position:absolute;right:18px;top:18px}.main-page__reasons-item__text{font-size:18px;font-weight:500;line-height:28px}.main-page__reasons-item__counter{font-size:32px;font-weight:800}.main-page__text-reasons{grid-column-gap:40px;grid-row-gap:12px;display:grid;grid-template-columns:repeat(2,1fr);margin-top:80px}.main-page__text-reasons__item{align-items:center;background-color:rgba(0,0,0,.04);border-radius:20px;display:flex;font-size:21px;font-weight:700;line-height:1.23;padding:24px 32px}@media screen and (max-width:1440px){.main-page__hero-photo span{height:auto!important;width:auto!important}}@media screen and (max-width:1200px){.main-page__hero-content{flex-wrap:wrap}.main-page__hero-text{margin-bottom:35px;margin-right:0;max-width:none}}@media screen and (max-width:992px){.main-page{padding-bottom:50px!important}.main-page__reasons{margin-top:60px}.main-page__reasons-list{grid-gap:20px 20px;grid-template-columns:repeat(2,1fr)}.main-page__text-reasons{margin-top:60px}}@media screen and (max-width:576px){.main{padding-top:50px!important}.main-page__hero{padding-bottom:40px}.main-page__hero-text{margin-bottom:0}.main-page__hero-text__title{font-size:40px;line-height:48px}.main-page__hero-text__subtitle{font-size:16px;line-height:26px;margin-top:16px}.main-page__hero-buttons__wrapper{margin-top:32px}.main-page__hero-photo{display:none}.main-page__reasons{margin-top:40px}.main-page__reasons-title{font-size:32px;line-height:1.22;margin:12px auto 0}.main-page__reasons-subtitle{font-size:21px}.main-page__reasons-list{margin-top:32px}.main-page__reasons-list,.main-page__text-reasons{grid-gap:12px 0;grid-template-columns:repeat(1,1fr)}.main-page__text-reasons__item{font-size:18px}}.platforms{align-items:center;display:flex;margin-bottom:10px;min-height:20px}.platform{margin-right:8px;max-width:17px}.platform img{display:block;height:100%;object-fit:contain;object-position:center;width:100%}.label-metacritic{border-radius:100%}.label-metacritic,.label-rating{font-size:16px;font-weight:500;margin-left:5px;padding:5px}.label-rating{border-radius:5px}.greenRating{border:1px solid #0c0}.orangeRating{border:1px solid orange}.redRating{border:1px solid #f30}.rating-none{color:hsla(0,0%,100%,.4)}.game-item{background-color:#202020;border-radius:5px;color:#f2f2f2;transition:.2s ease;width:100%}.game-item__photo{height:180px;overflow:hidden;width:100%}.game-item__photo span{height:100%!important;width:100%!important}.game-item__photo img{border-radius:5px;height:100%;object-fit:cover;object-position:center;width:100%}.game-item__content{font-size:16px;padding:15px}.game-item__content a,.game-item__content div{margin-bottom:15px}.game-item__content .label{color:#d3d3d3}.game-item__name{-webkit-line-clamp:1;-webkit-box-orient:vertical;background-image:none;display:-webkit-box;font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis}.game-item__released .released-none{color:hsla(0,0%,100%,.4)}.game-item__added,.game-item__panel{align-items:center;display:flex}.game-item__added{border:1px solid #f2f2f2;border-radius:5px;font-size:16px;justify-content:space-around;margin-bottom:0!important;margin-right:10px;max-width:90px;padding:9px;width:auto}.game-item__added__icon{width:24px}.game-item__added .label-added{color:#fff;font-weight:500}.game-item__details{margin-bottom:0!important}.game-item__button{border:1px solid #f2f2f2;border-radius:5px;font-size:16px;font-weight:500;padding:12px}.big .game-item{border-radius:12px;box-shadow:0 10px 20px 0 rgba(0,0,0,.07)}.big .game-item__photo{height:400px;width:100%}.big .game-item__photo span{height:400px!important;width:100%!important}.big .game-item__photo img{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:12px;border-top-right-radius:12px}.big .game-item__content{display:flex;flex-wrap:wrap}.big .game-item__name{font-size:32px;width:100%}.big .game-item .platforms{width:100%}.big .game-item__panel{margin-top:8px;width:100%}.big .game-item__metacritic,.big .game-item__rating,.big .game-item__released{font-size:14px;margin-right:24px;margin-top:8px}.big .game-item .label-metacritic,.big .game-item .label-rating{font-size:14px}@media screen and (max-width:576px){.game-item__name{font-size:24px!important}.game-item__content a,.game-item__content div{margin-bottom:19px}}.games-list{margin-top:20px}.games-list__ul{display:grid}.games-list__ul.column{grid-gap:24px;grid-template-columns:repeat(4,1fr)}.games-list__ul.list{grid-gap:24px 0;align-items:center;grid-template-columns:repeat(1,1fr);justify-items:center}.games-list .column{flex-direction:row}.games-list .list{align-items:center;flex-direction:column}.games-list__li{display:flex;width:100%}.games-list__li.big{max-width:714px}@media screen and (max-width:1440px){.games-list__ul.column{grid-template-columns:repeat(3,1fr)}}@media screen and (max-width:992px){.games-list__ul.column{grid-template-columns:repeat(1,1fr)}.page__control-display{display:none}}.my-select__wrapper{display:flex}.my-select__control{background-color:hsla(0,0%,100%,.07)!important;border:none!important;border-radius:8px!important;color:#fff!important;cursor:pointer!important;font-size:14px!important;min-height:auto;min-width:150px;outline:none;padding:3px 16px;width:auto}.my-select__control--menu-is-open{background-color:#fff!important;border-radius:4px 4px 0 0!important;color:#000!important}.my-select__control--is-focused{box-shadow:none!important}.my-select__single-value{color:inherit!important;margin-left:0!important;margin-right:0!important}.my-select__value-container{padding:0 5px 0 0!important}.my-select__indicator-separator{display:none}.my-select__dropdown-indicator{opacity:.4;padding:2px 0!important}.my-select__menu{border:none!important;margin-top:0!important}.my-select__menu-list{background-color:#fff;border-radius:0 0 4px 4px;box-shadow:0 2px 4px 0 rgba(0,0,0,.1);color:#000;padding:5px 10px 10px}.my-select__option{border-radius:4px;font-size:12px!important;margin:5px 0}.my-select__option--is-selected{background-color:rgba(0,0,0,.1)!important;color:#000!important}.my-select__option:hover{background-color:rgba(0,0,0,.1)}@media screen and (max-width:576px){.my-select__wrapper{display:block;margin-bottom:8px;width:100%}}.LoaderContent_loaderWrapper__70y-E{background:#202020;border-radius:6px;display:flex;justify-content:center;margin:20px auto;max-width:400px;padding:20px 0}.Error_contentError__38VoJ{margin:20px 0;width:100%}.Error_contentErrorIcon__TwrGa{background:url(/react-games.github.io/static/media/errorIcon.f0af6c6f720c03461084.svg);background-position:50%;background-repeat:no-repeat;background-size:80%;display:block;height:2em;margin-right:8px;width:2em}.Error_contentErrorWrapper__7hi82{align-items:center;display:flex;justify-content:center}.Error_contentErrorText__2p9Z1{line-height:1.3}.Error_contentErrorTitle__uS2Wz{font-size:14px}.Error_contentErrorP__ZnLxe{font-size:12px}.card-item{background-color:#202020;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:6px;box-shadow:0 10px 20px 0 rgba(0,0,0,.2);display:flex;flex:0 1 auto;flex-direction:column;height:380px;max-width:380px;padding:32px 24px;width:100%}.card-item__head{flex:1 1 auto;text-align:center}.card-item__head-name{font-size:24px;font-weight:700}.card-item__head-buttonMore{margin-top:16px}.card-item__head-buttonMore a{background-color:hsla(0,0%,100%,.1);background-image:none;border-radius:4px;color:#fff;display:inline-block;font-size:16px;font-weight:400;padding:10px 35px;transition:.2s ease}.card-item__head-buttonMore a:hover{background-color:#fff;color:#000;opacity:1}.card-item__content{flex:0 1 auto}.card-item__content-title{font-size:16px;font-weight:500}.card-item__content-items{border-top:1px solid hsla(0,0%,100%,.1);margin-top:8px;padding-top:8px;width:100%}.card-item__content-game{display:flex;font-size:14px;justify-content:space-between;margin-bottom:6px;width:100%}.card-item__content-name{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-item__content-added{background:url(/react-games.github.io/static/media/added-dev.3861ae1dbaaa92774c25.svg) no-repeat 100%/9px 16px;opacity:.4;padding-right:12px}@media screen and (max-width:1200px){.card-item{max-width:none}}@media screen and (max-width:576px){.card-item__content-title{font-size:14px}.card-item__content-name{max-width:65%}}.card-list{margin-top:20px}.card-list__ul{grid-gap:20px 10px;display:grid;grid-template-columns:repeat(4,1fr);justify-items:center}.card-list__li{max-width:320px;width:100%}@media screen and (max-width:1440px){.card-list__ul{grid-template-columns:repeat(3,1fr)}}@media screen and (max-width:1200px){.card-list__ul{grid-template-columns:repeat(2,1fr)}.card-list__li{max-width:none}}@media screen and (max-width:992px){.card-list__ul{grid-template-columns:repeat(1,1fr)}}.Loader_loaderWrapper__VBB7A{display:flex;justify-content:center;margin-bottom:20px;margin-top:20px}.developer-page__name{font-size:46px;font-weight:700}.developer-page__count{font-size:14px;margin-top:3px;text-transform:uppercase}.developer-page__about{margin-top:10px}.developer-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.developer-page__about-text p{-webkit-padding-before:.5em;-webkit-padding-after:.5em;padding-block-end:.5em;padding-block-start:.5em}.developer-page__about-text h2,.developer-page__about-text h3,.developer-page__about-text h4,.developer-page__about-text h5{font-size:18px;font-weight:500}.developer-page__games{margin-top:20px}@media screen and (max-width:992px){.developer-page{padding-top:50px!important}.developer-page__name{font-size:36px}}.Modal_modal__LvcCf{height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.Modal_modalOverlay__1hC7g{background-color:rgba(0,0,0,.7);height:100%;left:0;position:absolute;top:0;width:100%}.Modal_modalContent__H1ti6{background-color:#000;border-radius:5px;box-shadow:0 0 20px rgba(0,0,0,.5);height:100%;left:50%;overflow:auto;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:100%;z-index:10}.Modal_modalClose__VAPnh{align-items:center;background-color:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,59%,.05);border-radius:50%;cursor:pointer;display:flex;height:50px;justify-content:center;position:absolute;right:20px;top:20px;width:50px;z-index:15}.Modal_modalClose__VAPnh .Modal_buttonClose__PbZm0{height:19px;width:18px}@font-face{font-family:swiper-icons;font-style:normal;font-weight:400;src:url("data:application/font-woff;charset=utf-8;base64, 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") format("woff")}:root{--swiper-theme-color:#007aff}.swiper,swiper-container{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-wrapper{-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-backface-hidden .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,rgba(0,0,0,.5),transparent)}.swiper-css-mode>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid transparent;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;-webkit-transform-origin:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{-webkit-animation:swiper-preloader-spin 1s linear infinite;animation:swiper-preloader-spin 1s linear infinite}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@-webkit-keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes swiper-preloader-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);position:absolute;top:50%;top:var(--swiper-navigation-top-offset,50%);width:27px;width:calc(var(--swiper-navigation-size)/44*27);z-index:10}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:44px;font-size:var(--swiper-navigation-size);font-variant:normal;letter-spacing:0;line-height:1;text-transform:none!important}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:10px;left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:"prev"}.swiper-button-next,.swiper-rtl .swiper-button-prev{left:auto;right:10px;right:var(--swiper-navigation-sides-offset,10px)}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:"next"}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transform:translateZ(0);transform:translateZ(0);transition:opacity .3s;z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{position:relative;-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:50%;display:inline-block;height:8px;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:8px;width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px))}button.swiper-pagination-bullet{-webkit-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:1;opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,left .2s}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top;width:100%}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:rgba(0,0,0,.1);background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1));border-radius:10px;border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{bottom:4px;bottom:var(--swiper-scrollbar-bottom,4px);height:4px;height:var(--swiper-scrollbar-size,4px);left:1%;left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:auto;top:var(--swiper-scrollbar-top,auto);width:98%;width:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);z-index:50}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{height:98%;height:calc(100% - var(--swiper-scrollbar-sides-offset,1%)*2);left:auto;left:var(--swiper-scrollbar-left,auto);position:absolute;right:4px;right:var(--swiper-scrollbar-right,4px);top:1%;top:var(--swiper-scrollbar-sides-offset,1%);width:4px;width:var(--swiper-scrollbar-size,4px);z-index:50}.swiper-scrollbar-drag{background:rgba(0,0,0,.5);background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:10px;border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.image-gallery-icon{-webkit-appearance:none;appearance:none;background-color:transparent;border:0;color:#fff;cursor:pointer;-webkit-filter:drop-shadow(0 2px 2px #1a1a1a);filter:drop-shadow(0 2px 2px #1a1a1a);outline:none;position:absolute;transition:all .3s ease-out;z-index:4}@media(hover:hover)and (pointer:fine){.image-gallery-icon:hover{color:#337ab7}.image-gallery-icon:hover .image-gallery-svg{-webkit-transform:scale(1.1);transform:scale(1.1)}}.image-gallery-icon:focus{outline:2px solid #337ab7}.image-gallery-using-mouse .image-gallery-icon:focus{outline:none}.image-gallery-fullscreen-button,.image-gallery-play-button{bottom:0;padding:20px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:28px;width:28px}@media(max-width:768px){.image-gallery-fullscreen-button,.image-gallery-play-button{padding:15px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:24px;width:24px}}@media(max-width:480px){.image-gallery-fullscreen-button,.image-gallery-play-button{padding:10px}.image-gallery-fullscreen-button .image-gallery-svg,.image-gallery-play-button .image-gallery-svg{height:16px;width:16px}}.image-gallery-fullscreen-button{right:0}.image-gallery-play-button{left:0}.image-gallery-left-nav,.image-gallery-right-nav{padding:50px 10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:120px;width:60px}@media(max-width:768px){.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:72px;width:36px}}@media(max-width:480px){.image-gallery-left-nav .image-gallery-svg,.image-gallery-right-nav .image-gallery-svg{height:48px;width:24px}}.image-gallery-left-nav[disabled],.image-gallery-right-nav[disabled]{cursor:disabled;opacity:.6;pointer-events:none}.image-gallery-left-nav{left:0}.image-gallery-right-nav{right:0}.image-gallery{-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative;-webkit-user-select:none;-o-user-select:none;user-select:none}.image-gallery.fullscreen-modal{background:#000;bottom:0;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:5}.image-gallery.fullscreen-modal .image-gallery-content{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.image-gallery-content{line-height:0;position:relative;top:0}.image-gallery-content.fullscreen{background:#000}.image-gallery-content .image-gallery-slide .image-gallery-image{max-height:calc(100vh - 80px)}.image-gallery-content.left .image-gallery-slide .image-gallery-image,.image-gallery-content.right .image-gallery-slide .image-gallery-image{max-height:100vh}.image-gallery-slide-wrapper{position:relative}.image-gallery-slide-wrapper.left,.image-gallery-slide-wrapper.right{display:inline-block;width:calc(100% - 110px)}@media(max-width:768px){.image-gallery-slide-wrapper.left,.image-gallery-slide-wrapper.right{width:calc(100% - 87px)}}.image-gallery-slide-wrapper.image-gallery-rtl{direction:rtl}.image-gallery-slides{line-height:0;overflow:hidden;position:relative;text-align:center;white-space:nowrap}.image-gallery-slide{left:0;position:absolute;top:0;width:100%}.image-gallery-slide.center{position:relative}.image-gallery-slide .image-gallery-image{object-fit:contain;width:100%}.image-gallery-slide .image-gallery-description{background:rgba(0,0,0,.4);bottom:70px;color:#fff;left:0;line-height:1;padding:10px 20px;position:absolute;white-space:normal}@media(max-width:768px){.image-gallery-slide .image-gallery-description{bottom:45px;font-size:.8em;padding:8px 15px}}.image-gallery-bullets{bottom:20px;left:0;margin:0 auto;position:absolute;right:0;width:80%;z-index:4}.image-gallery-bullets .image-gallery-bullets-container{margin:0;padding:0;text-align:center}.image-gallery-bullets .image-gallery-bullet{-webkit-appearance:none;appearance:none;background-color:transparent;border:1px solid #fff;border-radius:50%;box-shadow:0 2px 2px #1a1a1a;cursor:pointer;display:inline-block;margin:0 5px;outline:none;padding:5px;transition:all .2s ease-out}@media(max-width:768px){.image-gallery-bullets .image-gallery-bullet{margin:0 3px;padding:3px}}@media(max-width:480px){.image-gallery-bullets .image-gallery-bullet{padding:2.7px}}.image-gallery-bullets .image-gallery-bullet:focus{background:#337ab7;border:1px solid #337ab7;-webkit-transform:scale(1.2);transform:scale(1.2)}.image-gallery-bullets .image-gallery-bullet.active{background:#fff;border:1px solid #fff;-webkit-transform:scale(1.2);transform:scale(1.2)}@media(hover:hover)and (pointer:fine){.image-gallery-bullets .image-gallery-bullet:hover{background:#337ab7;border:1px solid #337ab7}.image-gallery-bullets .image-gallery-bullet.active:hover{background:#337ab7}}.image-gallery-thumbnails-wrapper{position:relative}.image-gallery-thumbnails-wrapper.thumbnails-swipe-horizontal{touch-action:pan-y}.image-gallery-thumbnails-wrapper.thumbnails-swipe-vertical{touch-action:pan-x}.image-gallery-thumbnails-wrapper.thumbnails-wrapper-rtl{direction:rtl}.image-gallery-thumbnails-wrapper.left,.image-gallery-thumbnails-wrapper.right{display:inline-block;vertical-align:top;width:100px}@media(max-width:768px){.image-gallery-thumbnails-wrapper.left,.image-gallery-thumbnails-wrapper.right{width:81px}}.image-gallery-thumbnails-wrapper.left .image-gallery-thumbnails,.image-gallery-thumbnails-wrapper.right .image-gallery-thumbnails{height:100%;left:0;padding:0;position:absolute;top:0;width:100%}.image-gallery-thumbnails-wrapper.left .image-gallery-thumbnails .image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.right .image-gallery-thumbnails .image-gallery-thumbnail{display:block;margin-right:0;padding:0}.image-gallery-thumbnails-wrapper.left .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail,.image-gallery-thumbnails-wrapper.right .image-gallery-thumbnails .image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:0;margin-top:2px}.image-gallery-thumbnails-wrapper.left,.image-gallery-thumbnails-wrapper.right{margin:0 5px}@media(max-width:768px){.image-gallery-thumbnails-wrapper.left,.image-gallery-thumbnails-wrapper.right{margin:0 3px}}.image-gallery-thumbnails{overflow:hidden;padding:5px 0}@media(max-width:768px){.image-gallery-thumbnails{padding:3px 0}}.image-gallery-thumbnails .image-gallery-thumbnails-container{cursor:pointer;text-align:center;white-space:nowrap}.image-gallery-thumbnail{background:transparent;border:4px solid transparent;display:inline-block;padding:0;transition:border .3s ease-out;width:100px}@media(max-width:768px){.image-gallery-thumbnail{border:3px solid transparent;width:81px}}.image-gallery-thumbnail+.image-gallery-thumbnail{margin-left:2px}.image-gallery-thumbnail .image-gallery-thumbnail-inner{display:block;position:relative}.image-gallery-thumbnail .image-gallery-thumbnail-image{line-height:0;vertical-align:middle;width:100%}.image-gallery-thumbnail.active,.image-gallery-thumbnail:focus{border:4px solid #337ab7;outline:none}@media(max-width:768px){.image-gallery-thumbnail.active,.image-gallery-thumbnail:focus{border:3px solid #337ab7}}@media(hover:hover)and (pointer:fine){.image-gallery-thumbnail:hover{border:4px solid #337ab7;outline:none}}@media(hover:hover)and (pointer:fine)and (max-width:768px){.image-gallery-thumbnail:hover{border:3px solid #337ab7}}.image-gallery-thumbnail-label{box-sizing:border-box;color:#fff;font-size:1em;left:0;line-height:1em;padding:5%;position:absolute;text-shadow:0 2px 2px #1a1a1a;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:normal;width:100%}@media(max-width:768px){.image-gallery-thumbnail-label{font-size:.8em;line-height:.8em}}.image-gallery-index{background:rgba(0,0,0,.4);color:#fff;line-height:1;padding:10px 20px;position:absolute;right:0;top:0;z-index:4}@media(max-width:768px){.image-gallery-index{font-size:.8em;padding:5px 10px}}.game-screenshot__inner{display:flex;flex-wrap:wrap;margin-top:10px;width:1200px}.game-screenshot__inner .swiper-button-next,.game-screenshot__inner .swiper-button-prev{color:#fff}.game-screenshot__inner .swiper-button-next:after,.game-screenshot__inner .swiper-button-prev:after{font-size:25px}.game-screenshot__inner .swiper-pagination-bullet{background-color:#fff}.game-screenshot{display:block}.image-gallery-left-nav,.image-gallery-right-nav,.image-gallery-svg{display:block;padding:35px 20px}.image-gallery-svg{background-color:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,59%,.05);border-radius:50%;height:61px!important;padding:0;width:60px!important}.image-gallery-svg:hover{background-color:#fff}.image-gallery-thumbnail{border:0;border-radius:6px;opacity:.3}.image-gallery-thumbnail.active{border:0;opacity:1}.image-gallery-thumbnail:hover{border:0}.image-gallery-thumbnail+.image-gallery-thumbnail{margin:20px 0 0 20px}.image-gallery-bullets .image-gallery-bullet{padding:4px}.image-gallery-index{bottom:0;top:auto}.image-gallery-index-separator{margin-left:4px;margin-right:4px}.image-gallery-content .image-gallery-slide .image-gallery-image{max-height:calc(98vh - 80px)}@media screen and (max-width:1440px){.game-screenshot__inner{width:auto}}@media screen and (max-width:576px){.screenshots-slider .swiper-slide{width:300px!important}.game-screenshot__inner{width:auto}.swiper-button-next,.swiper-button-prev{display:none}}.game-achievements__inner{display:flex;flex-wrap:wrap;margin-top:15px}.game-achieve{display:flex;flex-basis:30%;margin-bottom:10px;margin-right:10px}.game-achieve__photo{border-radius:6px;flex-shrink:0;height:56px;margin-right:16px;width:56px}.game-achieve__photo img{border-radius:6px;height:100%;width:100%}.game-achieve__name{font-size:16px;font-weight:500}.game-achieve__percent{font-size:12px;margin-top:2px}.game-achieve__descr{color:hsla(0,0%,100%,.4);font-size:12px;margin-top:4px}@media screen and (max-width:576px){.game-achievements__inner{flex-direction:column}.game-achieve{border-bottom:1px solid hsla(0,0%,100%,.1);padding:16px 0;width:100%}.game-achieve:last-child{border-bottom:none}.game-achieve__photo{height:48px;width:48px}.game-achieve__text{display:flex;flex-direction:column}.game-achieve__name{font-size:14px;margin-top:2px;order:1}.game-achieve__descr{order:2}}.game-devs__inner{display:flex;flex-wrap:wrap;margin-top:15px;width:1200px}.game-devs__inner .swiper-button-next,.game-devs__inner .swiper-button-prev{color:#fff}.game-devs__inner .swiper-button-next:after,.game-devs__inner .swiper-button-prev:after{font-size:25px}.game-devs__inner .swiper-pagination{bottom:5px}.game-devs__inner .swiper-pagination-bullet{background-color:#fff}.game-developer{background-color:#202020;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:6px;box-shadow:0 10px 20px 0 rgba(0,0,0,.2);display:flex;flex:0 1 auto;flex-direction:column;height:430px;max-width:300px;padding:32px 24px;width:100%}.game-developer__head{flex:1 1 auto;margin:16px 0;text-align:center}.game-developer__head-photo{margin:0 auto}.game-developer__head-photo img{border-radius:50%;height:128px;object-fit:cover;object-position:center;width:128px}.game-developer__head-name{font-size:21px;font-weight:700;margin-top:12px}.game-developer__head-name a{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0)}.game-developer__head-positions{display:flex;justify-content:center}.game-developer__head-position{font-size:13px;margin-right:5px;margin-top:8px}.game-developer__head-position:last-child{margin-right:0}.game-developer__button-more{align-items:center;background-image:none;display:grid;height:100%;justify-content:center}.game-developer__button-more button{align-items:center;background-color:hsla(0,0%,100%,.1);border-radius:4px;color:hsla(0,0%,100%,.4);display:flex;flex:0 1 auto;justify-content:center;padding:15px 56px;transition:.2s ease}.game-developer__button-more button:hover{background-color:#fff;color:#000}.devs-slider .swiper-slide{display:flex;justify-content:center;min-width:300px!important}@media screen and (max-width:1440px){.game-devs__inner{width:auto}}@media screen and (max-width:576px){.game-screenshot__inner{width:auto}.devs-slider .swiper-slide{min-width:0!important;width:264px!important}.swiper-button-next,.swiper-button-prev{display:none}.game-developer{height:354px;width:264px}.game-developer__head-photo img{height:96px;width:96px}.game-developer__head-name{font-size:18px}.game-developer__head-position{font-size:12px}}.game-reddit__inner{align-items:flex-start;display:flex;flex-wrap:wrap;margin-top:20px}.game-reddit__post{margin-bottom:26px;margin-right:48px;max-width:290px;width:100%}.game-reddit__post:nth-child(2n){margin-right:0}.game-reddit__post-head{display:flex;width:100%}.game-reddit__post-photo{flex:0 0 auto;margin-right:16px;max-width:70px}.game-reddit__post-photo img{height:40px;width:70px}.game-reddit__post-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-weight:700;overflow:hidden;text-overflow:ellipsis}.game-reddit__post-meta{align-items:center;color:hsla(0,0%,100%,.4);display:flex;font-size:12px;margin-top:8px}.game-reddit__post-separator{margin-left:4px;margin-right:4px}@media screen and (max-width:992px){.game-reddit__post{border-bottom:1px solid hsla(0,0%,100%,.1);margin-right:0;max-width:100%;padding-bottom:16px;width:100%}.game-reddit__post a{color:inherit}.game-reddit__post-photo{flex:0 0 auto;margin:0 10px 0 16px;order:1}.game-reddit__post-name{flex:1 1 auto}.game-reddit__post-meta{font-weight:500}.game-page__reddit-meta,.game-page__reddit__post-name{font-size:14px}}.game-additions__inner{display:flex;flex-wrap:wrap;margin-top:10px;width:1200px}.game-addition{margin-bottom:10px;margin-right:10px;max-width:290px;width:100%}.game-addition.no-game{align-items:center;background-color:#202020;display:flex;justify-content:center}.game-addition__no-game button{background-color:hsla(0,0%,100%,.1);border-radius:4px;color:hsla(0,0%,100%,.4);padding:15px 56px;transition:.2s ease}@media screen and (max-width:1440px){.game-additions__inner{width:auto}}@media screen and (max-width:576px){.game-additions__inner{width:auto}.swiper-button-next,.swiper-button-prev{display:none}}.stores-inner{flex-wrap:wrap;margin-top:10px}.stores-button,.stores-inner{align-items:center;color:hsla(0,0%,100%,.5);display:flex}.stores-button{background-color:hsla(0,0%,100%,.1);background-image:none;border-radius:5px;flex-basis:33%;justify-content:center;margin-bottom:5px;margin-right:10px;padding:10px 20px;text-align:center;transition:.2s ease}.stores-button:hover{background-color:hsla(0,0%,100%,.4)}.stores-button img{display:block;height:21px;margin-left:10px;max-width:21px;width:100%}@media screen and (max-width:992px){.stores-slider .swiper-slide{width:184px!important}.stores-button{flex-basis:auto;font-size:14px;height:40px;margin-right:0;width:184px}}.swiper-scrollbar{height:3px!important}.swiper-scrollbar-drag{background:hsla(0,0%,100%,.2)}.reqs-name{font-size:18px;font-weight:500}.reqs-ul{-webkit-padding-start:40px;-webkit-padding-before:16px;-webkit-padding-after:16px;list-style-type:disc;padding-block-end:16px;padding-block-start:16px;padding-inline-start:40px}.reqs-li{display:list-item;list-style:inherit;margin:3px 0}.reqs-li,.reqs-undefined{font-size:15px}@media screen and (max-width:576px){.reqs-name{font-size:16px}.reqs-li,.reqs-undefined{font-size:14px}}.game-page__wrapper{max-width:900px}.game-page__head{align-items:center;display:flex;width:1200px}.game-page__head-date,.game-page__head-genres,.game-page__head-platforms,.game-page__head-playtime{font-size:14px;margin-right:20px;text-transform:uppercase}.game-page__head .platforms{margin-bottom:0}.game-page__head-genres{display:flex}.game-page__head-genres .genre{background-image:none;border:1px solid #fff;font-size:13px;margin-right:5px;padding:5px}.game-page__name{font-size:46px;font-weight:700;margin-top:10px}.game-page__ratings{align-items:center;display:flex;margin-top:10px}.game-page__ratings-default{align-items:center;display:flex;margin-right:5px}.game-page__ratings-default span{font-size:17px;margin-right:15px;padding:7px}.game-page__ratings-default .greenRating{border:2px solid #0c0}.game-page__ratings-default .orangeRating{border:2px solid orange}.game-page__ratings-default .redRating{border:2px solid #f30}.game-page__ratings-users{align-items:center;display:flex}.game-page__ratings-users .rating-users{font-size:17px;font-weight:500;margin-right:15px}.game-page__stores{margin-top:20px}.game-page__stores-head{color:#a5a4a4;font-size:18px}.game-page__about{margin-top:32px}.game-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.game-page__about-text .expand{display:inline;font-size:13px;font-weight:400;margin-top:5px}.game-page__about-text .expand:hover{text-decoration:underline}.game-page__about-text p{-webkit-padding-after:.2em;-webkit-padding-before:.2em;padding-block-end:.2em;padding-block-start:.2em}.game-page__about-text h2,.game-page__about-text h3,.game-page__about-text h4,.game-page__about-text h5,.game-page__about-text h6{font-size:17px;font-weight:500;margin:5px 0}.game-page__meta{display:flex;flex-wrap:wrap;margin-top:30px}.game-page__meta .meta-big{flex-basis:100%}.game-page__meta-block{flex-basis:50%;margin-bottom:20px}.game-page__meta-block:last-child{margin-bottom:0}.game-page__meta-title{color:#a5a4a4;font-size:14px;font-weight:500}.game-page__meta-info{display:flex;flex-wrap:wrap;margin-top:10px}.game-page__meta-link,.game-page__meta-tag,.game-page__meta-text{margin-bottom:3px;margin-right:5px}.game-page__meta-link{background:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);color:#fff;transition:.2s ease}.game-page__meta-link:hover{color:#a5a4a4}.game-page__meta-text{color:#fff;font-size:16px}.game-page__meta-tag{background-color:hsla(0,0%,100%,.06);border-radius:5px;padding:5px 10px;transition:.2s ease}.game-page__meta-tag a{background-image:none}.game-page__meta-tag:hover{background-color:#fff}.game-page__meta-tag:hover a{color:#000}.game-page__reqs{margin-top:32px}.game-page__reqs-head{font-size:24px;font-weight:500}.game-page__reqs-inner{margin-top:16px}.game-page__media{margin-top:32px}.game-page__media-title{font-size:24px;font-weight:500}.game-page__screenshots{margin-top:15px}.game-page__screenshots-title{font-size:18px;font-weight:500}.game-page__achievements,.game-page__developers{margin-top:32px}.game-page__reddit{margin-top:22px}.game-page__reddit a{background-image:none}.game-page__reddit-head{align-items:baseline;display:flex;width:100%}.game-page__reddit .page__title{flex:1 1 auto}.game-page__reddit-meta{font-size:14px;margin-top:10px}.game-page__reddit-meta__head{display:flex;margin-bottom:5px}.game-page__reddit-label{color:#a5a4a4;font-weight:500}.game-page__reddit-buttonMore,.game-page__reddit-count,.game-page__reddit-separator{color:hsla(0,0%,100%,.4)!important;font-size:14px}.game-page__reddit-separator{margin-left:4px;margin-right:4px}.game-page__additions{margin-top:32px}@media screen and (max-width:1440px){.game__wrapper{max-width:1000px}.game-page__head{width:auto}}@media screen and (max-width:992px){.game-page{padding-top:40px!important}.game-page__main{display:flex;flex-direction:column}.game-page__name{font-size:36px;order:0;text-align:center}.game-page__head{flex-direction:column;flex-wrap:wrap;justify-content:center;order:1}.game-page__head-date,.game-page__head-genres,.game-page__head-platforms,.game-page__head-playtime{margin:10px 5px 0}.game-page__head-platforms{order:1}.game-page__head-playtime{order:2}.game-page__ratings{flex-wrap:wrap;justify-content:center}}@media screen and (max-width:576px){.game-page{padding-top:30px!important}.game-page__ratings{order:2}.game-page__ratings-default,.game-page__ratings-users{margin-bottom:10px}.game-page__about-text{font-size:14px}.game-page__meta-title{color:hsla(0,0%,100%,.2);font-weight:500}.game-page__meta-link{word-wrap:break-word;font-size:14px}.game-page__meta-tag,.game-page__meta-text{font-size:14px}.game-page .page__title{font-size:20px;font-weight:500}}.publisher-page__name{font-size:46px;font-weight:700}.publisher-page__count{font-size:14px;margin-top:3px;text-transform:uppercase}.publisher-page__about{margin-top:10px}.publisher-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.publisher-page__about-text p{-webkit-padding-before:.5em;-webkit-padding-after:.5em;padding-block-end:.5em;padding-block-start:.5em}.publisher-page__about-text h2,.publisher-page__about-text h3,.publisher-page__about-text h4,.publisher-page__about-text h5{font-size:18px;font-weight:500}.publisher-page__games{margin-top:20px}@media screen and (max-width:992px){.publisher-page{padding-top:50px!important}.publisher-page__name{font-size:36px}}.genre-page__name{font-size:46px;font-weight:700}.genre-page__count{font-size:14px;margin-top:3px;text-transform:uppercase}.genre-page__about{margin-top:10px}.genre-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.genre-page__about-text p{-webkit-padding-before:.5em;-webkit-padding-after:.5em;padding-block-end:.5em;padding-block-start:.5em}.genre-page__about-text h2,.genre-page__about-text h3,.genre-page__about-text h4,.genre-page__about-text h5{font-size:18px;font-weight:500}.genre-page__games{margin-top:20px}@media screen and (max-width:992px){.genre-page{padding-top:50px!important}.genre-page__name{font-size:36px}}.platform-page__name{font-size:46px;font-weight:700}.platform-page__count{font-size:14px;margin-top:3px;text-transform:uppercase}.platform-page__about{margin-top:10px}.platform-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.platform-page__about-text p{-webkit-padding-before:.5em;-webkit-padding-after:.5em;padding-block-end:.5em;padding-block-start:.5em}.platform-page__about-text h2,.platform-page__about-text h3,.platform-page__about-text h4,.platform-page__about-text h5{font-size:18px;font-weight:500}.platform-page__games{margin-top:20px}@media screen and (max-width:992px){.platform-page{padding-top:50px!important}.platform-page__name{font-size:36px}}.tag-page__name{font-size:46px;font-weight:700}.tag-page__count{font-size:14px;margin-top:3px;text-transform:uppercase}.tag-page__about{margin-top:10px}.tag-page__about-text{font-size:16px;line-height:1.3;margin-top:10px}.tag-page__about-text p{-webkit-padding-before:.5em;-webkit-padding-after:.5em;padding-block-end:.5em;padding-block-start:.5em}.tag-page__about-text h2,.tag-page__about-text h3,.tag-page__about-text h4,.tag-page__about-text h5{font-size:18px;font-weight:500}.tag-page__games{margin-top:20px}@media screen and (max-width:992px){.tag-page{padding-top:50px!important}.tag-page__name{font-size:36px}}.search-page .section-header{align-items:center;display:flex}.search-page .section-title{flex:1 1 auto}body{background-color:#151515;color:#fff;font-family:Roboto,sans-serif}*{border:none;margin:0;padding:0}*,:after,:before{box-sizing:border-box}a{background-image:linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);color:#fff;text-decoration:none;transition:all .2s ease}a:hover{color:hsla(0,0%,100%,.4)}aside,footer,header,main,nav,section{display:block}h1,h2,h3,h4,h5,h6,p{font-size:inherit;font-weight:inherit}ul,ul li{list-style:none}img{vertical-align:top}img,svg{height:auto;max-width:100%}address{font-style:normal}button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-size:inherit}input::-ms-clear{display:none}button,input[type=submit]{background-color:transparent;background:none;box-shadow:none;cursor:pointer;display:inline-block}button:active,button:focus,input:active,input:focus{outline:none}button::-moz-focus-inner{border:0;padding:0}label{cursor:pointer}legend{display:block}.container{margin:0 auto;max-width:1440px;overflow-x:hidden;padding:0 5px;width:100%}.section-header{margin-bottom:10px;margin-top:10px}.section-title{font-size:48px;font-weight:700;text-align:left}.page__title{font-size:24px;font-weight:700}.page-art{height:100%;left:0;position:absolute;top:0;width:100%;z-index:-2}.page-art__wrapper{min-height:100%;width:100%}.page-art .art{background-color:transparent;background-size:cover;height:500px;max-height:100%;z-index:1}.page-art__additional{background:no-repeat 50%/cover;height:600px;left:0;margin-top:-300px;opacity:.4;position:absolute;width:100%;z-index:-10}.page{min-height:100%;padding-bottom:50px;padding-top:50px;position:relative}.page__about-text{line-height:1.3}.page__about-text p{-webkit-padding-before:.3em;-webkit-padding-after:.3em;font-size:15px;padding-block-end:.3em;padding-block-start:.3em}.observer{height:10px}.page__control{align-items:stretch;display:flex}.page__control-filters{display:flex;flex:1 1 auto}.page__control-filters .my-select__wrapper{margin-right:15px}.page__control-filters .my-select__wrapper:last-child{margin-right:0}.page__control-display{align-items:center;display:flex;flex:0 1 auto;justify-content:center}.page__control-display__title{font-size:14px;margin-right:16px;opacity:.4}.page__control-display__items{display:flex}.page__control-display__option{height:38px;margin-right:8px;opacity:.4;transition:opacity .3s;width:38px}.page__control-display__option:last-child{margin-right:0}.page__control-display__option.display-active{opacity:1}.page__control-display__option:hover{opacity:.6}.page__control-display .display-column{background:url(/react-games.github.io/static/media/column-icon.861759b622b62040559d.svg);background-repeat:no-repeat;background-size:contain}.page__control-display .display-list{background:url(/react-games.github.io/static/media/list-icon.125c97e70366470e91d3.svg);background-repeat:no-repeat;background-size:contain}@media screen and (max-width:1440px){.container{padding:0 40px}}@media screen and (max-width:992px){.page{padding-top:0}.page__control-display{display:none}.section-title{font-size:36px}}@media screen and (max-width:576px){.page__control-filters{flex:auto;flex-direction:column}.container{padding:0 15px}.page-art .art{height:300px}} +/*# sourceMappingURL=main.35b704d0.css.map*/ \ No newline at end of file diff --git a/static/css/main.35b704d0.css.map b/static/css/main.35b704d0.css.map new file mode 100644 index 0000000..3e2d877 --- /dev/null +++ b/static/css/main.35b704d0.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.35b704d0.css","mappings":"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","sources":["components/SearchBar/searchBar.scss","components/UI/BurgerMenu/burgerMenu.scss","components/Header/header.scss","components/Footer/footer.scss","pages/MainPage/mainPage.scss","components/UI/Platforms/platforms.scss","components/UI/Ratings/ratings.scss","components/GameItem/gameItem.scss","components/GamesList/gamesList.scss","components/UI/MySelect/mySelect.scss","components/UI/LoaderContent/LoaderContent.module.scss","components/UI/Error/Error.module.scss","components/UI/CardDefault/cardDefault.scss","components/UI/CardList/cardList.scss","components/UI/Loader/Loader.module.scss","pages/SingleDelevoperPage/singleDelevoperPage.scss","components/UI/Modal/Modal.module.scss","../node_modules/swiper/swiper.scss","../node_modules/swiper/modules/navigation/navigation.min.css","../node_modules/swiper/modules/pagination/pagination.min.css","../node_modules/swiper/modules/scrollbar/scrollbar.min.css","../node_modules/react-image-gallery/styles/scss/image-gallery.scss","components/GameScreenshots/gameScreenshots.scss","components/GameAchievements/gameAchievements.scss","components/GameDevs/gameDevs.scss","components/GameRedditPosts/gameRedditPosts.scss","components/GameAdditions/gameAdditions.scss","components/UI/StoresAvailable/storesAvailable.scss","components/UI/Requirements/requirements.scss","pages/SingleGamePage/singleGamePage.scss","pages/SinglePublisherPage/singlePublisherPage.scss","pages/SingleGenrePage/singleGenrePage.scss","pages/SinglePlatformPage/singlePlatformPage.scss","pages/SingleTagPage/singleTagPage.scss","pages/SearchResultPage/searchResultPage.scss","App.scss"],"sourcesContent":[".search {\r\n &__form {\r\n width: 100%;\r\n }\r\n\r\n &-input {\r\n width: 100%;\r\n height: 44px;\r\n border-radius: 24px;\r\n font-size: 14px;\r\n font-weight: 400;\r\n line-height: 14px;\r\n color: hsla(0, 0%, 100%, .6) !important;\r\n background: url('../../resources/img/icons/search.svg') no-repeat scroll 16px;\r\n background-size: 14px;\r\n background-color: hsla(0,0%,100%,.16);\r\n padding: 0 12px 0 38px;\r\n line-height: 14px;\r\n opacity: 1;\r\n transition: color .3s,background-color .3s,opacity .3s,width .05s linear;\r\n\r\n &:focus, &:hover {\r\n color: #000 !important;\r\n opacity: 1;\r\n background: url('../../resources/img/icons/search-black.svg') no-repeat scroll 16px;\r\n background-color: #fff;\r\n }\r\n\r\n &__area {\r\n width: 100%;\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n }\r\n }\r\n\r\n &-hotkeys__wrapper {\r\n position: absolute;\r\n right: 15px;\r\n top: 11px;\r\n display: flex;\r\n align-items: center;\r\n color: hsla(0,0%,100%,.5);\r\n font-size: 11px;\r\n font-family: monospace;\r\n\r\n span {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n }\r\n\r\n &.hotkeys-hidden {\r\n display: none;\r\n }\r\n }\r\n\r\n &-hotkey {\r\n border: 1px solid hsla(0,0%,100%,.3);\r\n border-radius: 3px;\r\n padding: 3px 5px;\r\n }\r\n\r\n &__close-button {\r\n display: flex;\r\n border-radius: 100%;\r\n background-color: transparent;\r\n border: none;\r\n padding: 0;\r\n margin: 0 4px 0 -31px;\r\n cursor: pointer;\r\n\r\n &.close-hidden {\r\n display: none;\r\n }\r\n \r\n &__icon {\r\n background: url('../../resources/img/icons/close-button.svg');\r\n background-size: cover;\r\n height: 10px;\r\n width: 10px;\r\n margin: 6px;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1200px) {\r\n .search {\r\n &-input {\r\n font-size: 12px;\r\n }\r\n\r\n &-hotkeys__wrapper {\r\n display: none;\r\n }\r\n }\r\n}",".burger-menu {\r\n color: #000;\r\n &__button {\r\n display: block;\r\n width: 18px;\r\n height: 18px;\r\n background-color: transparent;\r\n border: none;\r\n cursor: pointer;\r\n padding: 0;\r\n position: relative;\r\n\r\n &-bar {\r\n display: block;\r\n width: 100%;\r\n height: 2px;\r\n background-color: #fff;\r\n position: absolute;\r\n left: 0;\r\n transition: transform 0.2s ease-in-out;\r\n border-radius: 3px;\r\n\r\n &:first-child {\r\n top: 1.5px;\r\n }\r\n\r\n &:last-child {\r\n bottom: 0;\r\n }\r\n }\r\n }\r\n\r\n &__close {\r\n display: block;\r\n width: 25px;\r\n height: 25px;\r\n background-color: transparent;\r\n border: none;\r\n cursor: pointer;\r\n padding: 0;\r\n position: relative;\r\n\r\n &-wrapper {\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n width: 18px;\r\n height: 18px;\r\n z-index: 20;\r\n }\r\n\r\n &-bar {\r\n display: block;\r\n width: 100%;\r\n height: 3px;\r\n background-color: #000;\r\n position: absolute;\r\n left: 0;\r\n transition: transform 0.2s ease-in-out;\r\n\r\n &:first-child {\r\n top: 11px;\r\n transform: rotate(-45deg);\r\n }\r\n \r\n &:last-child {\r\n bottom: 10.5px;\r\n transform: rotate(45deg);\r\n }\r\n }\r\n\r\n &:after {\r\n transform: rotate(-45deg);\r\n }\r\n\r\n &:before {\r\n transform: rotate(45deg);\r\n }\r\n }\r\n\r\n &__container {\r\n display: flex;\r\n flex-direction: column;\r\n position: fixed;\r\n top: 12px !important;\r\n bottom: 10px;\r\n right: 5px !important;\r\n left: unset !important;\r\n width: 100%;\r\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);\r\n height: calc(100% - 32px);\r\n max-height: 708px;\r\n min-width: 310px;\r\n max-width: 280px;\r\n overflow-y: scroll;\r\n z-index: 15;\r\n padding: 0;\r\n }\r\n\r\n &__list {\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n z-index: 1;\r\n background-color: #fff;\r\n box-shadow: 0 2px 4px 0 rgba(0,0,0,.1);\r\n height: 100%;\r\n overflow-y: auto;\r\n border-radius: 24px;\r\n padding: 24px;\r\n\r\n &-col {\r\n width: 75%;\r\n }\r\n\r\n &-title {\r\n font-size: 24px;\r\n font-weight: 800;\r\n margin-bottom: 8px;\r\n }\r\n }\r\n\r\n &__item {\r\n font-size: 1.2rem;\r\n padding: 6px 0px 8px;\r\n cursor: pointer;\r\n }\r\n\r\n &__link {\r\n color: inherit;\r\n\r\n &--active {\r\n color: inherit;\r\n font-weight: 500;\r\n background-image: linear-gradient(0deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 0%, 0.4) 0, hsla(0, 0%, 0%, 0.4) 1px, hsla(0, 0%, 100%, 0) 0);\r\n }\r\n }\r\n \r\n &__overlay {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n z-index: 14;\r\n width: 100%;\r\n height: 100%;\r\n display: block;\r\n content: \"\";\r\n background-color: rgba(0,0,0,.9);\r\n transition: opacity .3s;\r\n opacity: 0;\r\n pointer-events: none;\r\n\r\n &--opened {\r\n pointer-events: auto;\r\n opacity: 1;\r\n }\r\n }\r\n}\r\n",".header {\r\n z-index: 10;\r\n width: 100%;\r\n flex-grow: 1;\r\n\r\n &__wrapper {\r\n padding: 24px 40px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n max-width: 1920px;\r\n margin: 0 auto;\r\n }\r\n\r\n &__item {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n height: 44px;\r\n margin: 0 16px;\r\n\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n\r\n &__search {\r\n min-width: 200px;\r\n width: 100%;\r\n flex-grow: 2;\r\n }\r\n }\r\n\r\n &__link {\r\n font-size: 14px;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color: #fff;\r\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\r\n transition: 0.2s ease;\r\n\r\n &--active {\r\n font-weight: 700;\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n }\r\n\r\n &:hover {\r\n color: hsla(0,0%,100%,.4);\r\n }\r\n }\r\n\r\n &__logo {\r\n font-size: 21px;\r\n font-weight: 900;\r\n line-height: 1;\r\n letter-spacing: 5px;\r\n color: #fff;\r\n background-image: none;\r\n }\r\n\r\n &__ul {\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n &__li {\r\n margin-right: 20px;\r\n \r\n\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n }\r\n\r\n .dropdown {\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n border: 1px solid #fff;\r\n padding: 5px;\r\n display: flex;\r\n flex-direction: column;\r\n z-index: 1000;\r\n\r\n &__link, a {\r\n font-size: 13px;\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n color: #fff;\r\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\r\n transition: 0.2s ease;\r\n\r\n &:hover {\r\n color: hsla(0,0%,100%,.4);\r\n }\r\n }\r\n\r\n &__li {\r\n padding: 3px 0px;\r\n }\r\n }\r\n\r\n .dropdown-trigger {\r\n border-bottom: none;\r\n position: relative;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1200px) {\r\n .header {\r\n &__li {\r\n margin-right: 12px;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .header {\r\n &__logo {\r\n font-size: 18px;\r\n }\r\n &__wrapper {\r\n padding: 24px 10px;\r\n flex-grow: 0;\r\n }\r\n\r\n &__item {\r\n margin: 0px 10px;\r\n\r\n &__search {\r\n min-width: 0px;\r\n }\r\n }\r\n }\r\n\r\n .search {\r\n &-input {\r\n height: 28px;\r\n border-radius: 16px;\r\n font-size: 14px;\r\n \r\n }\r\n }\r\n}\r\n\r\n",".footer {\r\n padding: 20px 0px;\r\n width: 100%;\r\n\r\n &__wrapper {\r\n display: flex;\r\n justify-content: center;\r\n }\r\n\r\n &-text {\r\n text-align: center;\r\n font-size: 12px;\r\n opacity: .4;\r\n font-family: monospace;\r\n background-image: none;\r\n\r\n &:hover {\r\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\r\n opacity: .8;\r\n }\r\n }\r\n}",".main {\r\n position: relative;\r\n background-color: transparent;\r\n padding-top: 100px !important;\r\n\r\n &-page {\r\n background-color: #e9eef2;\r\n color: #000;\r\n position: relative;\r\n padding-top: 1px !important;\r\n padding-bottom: 100px !important;\r\n \r\n &__hero {\r\n padding-bottom: 80px;\r\n\r\n &-content {\r\n display: flex;\r\n justify-content: center;\r\n }\r\n \r\n &-text {\r\n max-width: 450px;\r\n width: 100%;\r\n margin-right: 64px;\r\n \r\n &__title {\r\n font-size: 60px;\r\n line-height: 72px;\r\n font-weight: 800;\r\n }\r\n \r\n &__subtitle {\r\n margin-top: 12px;\r\n font-size: 18px;\r\n line-height: 26px;\r\n }\r\n }\r\n \r\n &-buttons__wrapper {\r\n display: flex;\r\n margin-top: 30px;\r\n }\r\n \r\n &-button {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: 1px solid #ccc;\r\n font-size: 18px;\r\n padding: 0px 24px;\r\n border-radius: 12px;\r\n font-weight: 500;\r\n height: 56px;\r\n cursor: pointer;\r\n background-image: none;\r\n background: #fff;\r\n color: #000;\r\n \r\n &:hover {\r\n color: #fff;\r\n background-color: #005ff9;\r\n border-color: #005ff9;\r\n }\r\n }\r\n \r\n &-photo {\r\n border-radius: 18px;\r\n\r\n span {\r\n border-radius: 18px;\r\n }\r\n \r\n .hero-photo {\r\n filter: drop-shadow(0 20px 60px rgba(175, 175, 175, 0.15));\r\n border-radius: 18px;\r\n width: 100%;\r\n }\r\n }\r\n }\r\n \r\n &__reasons {\r\n margin-top: 80px;\r\n \r\n &-subtitle {\r\n font-size: 24px;\r\n font-weight: 700;\r\n text-align: center;\r\n opacity: .6;\r\n }\r\n \r\n &-title {\r\n font-size: 40px;\r\n font-weight: 800;\r\n text-align: center;\r\n max-width: 700px;\r\n width: 100%;\r\n margin: 16px auto 0px;\r\n }\r\n \r\n &-list {\r\n margin-top: 40px;\r\n display: grid;\r\n grid-template-columns: repeat(3,1fr);\r\n grid-column-gap: 40px;\r\n grid-row-gap: 32px;\r\n }\r\n \r\n &-item {\r\n padding: 88px 32px 36px;\r\n position: relative;\r\n color: #fff;\r\n background-color: #161616;\r\n box-shadow: 0 20px 60px 0 rgba(0,0,0,.15);\r\n border-radius: 20px;\r\n \r\n &.item-white {\r\n background-color: #fff;\r\n color: #000;\r\n }\r\n \r\n &.item-blue {\r\n background-color: #005ff9;\r\n \r\n }\r\n \r\n &__icon {\r\n position: absolute;\r\n right: 18px;\r\n top: 18px;\r\n font-size: 36px;\r\n line-height: normal;\r\n }\r\n \r\n &__text {\r\n font-size: 18px;\r\n line-height: 28px;\r\n font-weight: 500;\r\n }\r\n \r\n &__counter {\r\n font-size: 32px;\r\n font-weight: 800;\r\n }\r\n }\r\n }\r\n \r\n &__text-reasons {\r\n margin-top: 80px;\r\n display: grid;\r\n grid-column-gap: 40px;\r\n grid-template-columns: repeat(2,1fr);\r\n \r\n grid-row-gap: 12px;\r\n \r\n &__item {\r\n display: flex;\r\n align-items: center;\r\n font-size: 21px;\r\n line-height: 1.23;\r\n padding: 24px 32px;\r\n border-radius: 20px;\r\n background-color: rgba(0,0,0,.04);\r\n font-weight: 700;\r\n }\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .main-page {\r\n &__hero {\r\n &-photo {\r\n span {\r\n width: auto !important;\r\n height: auto !important;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1200px) {\r\n .main-page {\r\n &__hero {\r\n &-content {\r\n flex-wrap: wrap;\r\n }\r\n\r\n &-text {\r\n max-width: none;\r\n margin-right: 0;\r\n margin-bottom: 35px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .main-page {\r\n padding-bottom: 50px !important;\r\n \r\n &__reasons {\r\n margin-top: 60px;\r\n\r\n &-list {\r\n grid-template-columns: repeat(2, 1fr);\r\n grid-gap: 20px 20px;\r\n }\r\n }\r\n\r\n &__text-reasons {\r\n margin-top: 60px;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .main {\r\n padding-top: 50px !important;\r\n }\r\n .main-page {\r\n &__hero {\r\n padding-bottom: 40px;\r\n\r\n &-text {\r\n margin-bottom: 0;\r\n\r\n &__title {\r\n font-size: 40px;\r\n line-height: 48px;\r\n }\r\n\r\n &__subtitle {\r\n font-size: 16px;\r\n line-height: 26px;\r\n margin-top: 16px;\r\n }\r\n }\r\n\r\n &-buttons__wrapper {\r\n margin-top: 32px;\r\n }\r\n\r\n &-photo {\r\n display: none;\r\n }\r\n }\r\n\r\n &__reasons {\r\n margin-top: 40px;\r\n\r\n &-title {\r\n font-size: 32px;\r\n line-height: 1.22;\r\n margin: 12px auto 0px;\r\n }\r\n\r\n &-subtitle {\r\n font-size: 21px;\r\n }\r\n\r\n &-list {\r\n margin-top: 32px;\r\n grid-template-columns: repeat(1, 1fr);\r\n grid-gap: 12px 0px;\r\n }\r\n }\r\n\r\n &__text-reasons {\r\n grid-template-columns: repeat(1, 1fr);\r\n grid-gap: 12px 0px;\r\n\r\n &__item {\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n}",".platforms {\r\n display: flex;\r\n align-items: center;\r\n min-height: 20px;\r\n margin-bottom: 10px;\r\n}\r\n\r\n.platform {\r\n max-width: 17px;\r\n margin-right: 8px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n display: block;\r\n object-fit: contain;\r\n object-position: center;\r\n }\r\n}",".label-metacritic {\r\n padding: 5px;\r\n border-radius: 100%;\r\n font-weight: 500;\r\n font-size: 16px;\r\n margin-left: 5px;\r\n}\r\n\r\n.label-rating {\r\n padding: 5px;\r\n border-radius: 5px;\r\n font-weight: 500;\r\n font-size: 16px;\r\n margin-left: 5px;\r\n}\r\n\r\n.greenRating {\r\n border: 1px solid #00CC00;\r\n}\r\n.orangeRating {\r\n border: 1px solid #FFA500;\r\n}\r\n.redRating {\r\n border: 1px solid #ff3300;\r\n}\r\n\r\n.rating-none {\r\n color: hsla(0, 0%, 100%, 0.4);\r\n}",".game-item {\r\n width: 100%;\r\n background-color: #202020;\r\n color: #f2f2f2;\r\n border-radius: 5px;\r\n transition: 0.2s ease;\r\n \r\n &__photo {\r\n width: 100%;\r\n height: 180px;\r\n overflow: hidden;\r\n\r\n span {\r\n width: 100% !important;\r\n height: 100% !important;\r\n }\r\n \r\n img {\r\n width: 100%;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n border-radius: 5px;\r\n }\r\n }\r\n\r\n &__content {\r\n font-size: 16px;\r\n padding: 15px;\r\n\r\n div, a {\r\n margin-bottom: 15px;\r\n }\r\n\r\n .label {\r\n color: lightgrey;\r\n }\r\n }\r\n\r\n &__name {\r\n font-size: 18px;\r\n font-weight: 700;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 1;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n background-image: none;\r\n }\r\n\r\n &__released {\r\n .released-none {\r\n color: hsla(0, 0%, 100%, 0.4);\r\n }\r\n }\r\n\r\n &__panel {\r\n display: flex;\r\n align-items: center;\r\n }\r\n \r\n &__added {\r\n padding: 9px;\r\n font-size: 16px;\r\n border: 1px solid #f2f2f2;\r\n border-radius: 5px;\r\n max-width: 90px;\r\n width: auto;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-around;\r\n margin-bottom: 0 !important;\r\n margin-right: 10px;\r\n\r\n &__icon {\r\n width: 24px;\r\n }\r\n\r\n .label-added {\r\n font-weight: 500;\r\n color: #fff;\r\n }\r\n }\r\n\r\n &__details {\r\n margin-bottom: 0 !important;\r\n }\r\n\r\n &__button {\r\n font-size: 16px;\r\n font-weight: 500;\r\n border: 1px solid #f2f2f2;\r\n border-radius: 5px;\r\n padding: 12px 12px;\r\n }\r\n}\r\n\r\n.big {\r\n .game-item {\r\n box-shadow: 0 10px 20px 0 rgba(0,0,0,.07);\r\n border-radius: 12px;\r\n\r\n &__photo {\r\n width: 100%;\r\n height: 400px;\r\n\r\n span {\r\n height: 400px !important;\r\n width: 100% !important;\r\n }\r\n\r\n img {\r\n border-top-left-radius: 12px;\r\n border-top-right-radius: 12px;\r\n border-bottom-right-radius: 0px;\r\n border-bottom-left-radius: 0px;\r\n }\r\n }\r\n\r\n &__content {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n\r\n &__name {\r\n font-size: 32px;\r\n width: 100%;\r\n }\r\n\r\n .platforms {\r\n width: 100%;\r\n }\r\n\r\n &__panel {\r\n width: 100%;\r\n margin-top: 8px;\r\n }\r\n\r\n &__released, &__rating, &__metacritic {\r\n margin-right: 24px;\r\n margin-top: 8px;\r\n font-size: 14px;\r\n }\r\n\r\n .label-rating {\r\n font-size: 14px;\r\n }\r\n\r\n .label-metacritic {\r\n font-size: 14px;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .game-item {\r\n &__name {\r\n font-size: 24px !important;\r\n } \r\n\r\n &__content {\r\n div, a {\r\n margin-bottom: 19px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n",".games-list {\r\n margin-top: 20px;\r\n\r\n &__ul {\r\n display: grid;\r\n\r\n &.column {\r\n grid-gap: 24px;\r\n grid-template-columns: repeat(4, 1fr);\r\n }\r\n\r\n &.list {\r\n grid-gap: 24px 0px;\r\n grid-template-columns: repeat(1, 1fr);\r\n justify-items: center;\r\n align-items: center;\r\n }\r\n }\r\n\r\n .column {\r\n flex-direction: row;\r\n }\r\n\r\n .list {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n\r\n &__li {\r\n width: 100%;\r\n display: flex;\r\n\r\n &.big {\r\n max-width: 714px;\r\n }\r\n } \r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .games-list {\r\n &__ul {\r\n &.column {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .games-list {\r\n &__ul {\r\n &.column {\r\n grid-template-columns: repeat(1, 1fr);\r\n }\r\n }\r\n }\r\n\r\n .page__control-display {\r\n display: none;\r\n }\r\n}\r\n\r\n ",".my-select {\r\n &__wrapper {\r\n display: flex;\r\n }\r\n &__control {\r\n width: auto;\r\n min-width: 150px;\r\n padding: 3px 16px;\r\n background-color: hsla(0,0%,100%,.07) !important;\r\n border-radius: 8px !important;\r\n font-size: 14px !important; \r\n min-height: auto;\r\n border: none !important;\r\n color: #fff !important;\r\n outline: none;\r\n cursor: pointer !important;\r\n\r\n &--menu-is-open {\r\n background-color: #fff !important;\r\n color: #000 !important;\r\n border-radius: 4px 4px 0px 0px !important;\r\n }\r\n\r\n &--is-focused {\r\n box-shadow: none !important;\r\n }\r\n }\r\n\r\n &__single-value {\r\n color: inherit !important;\r\n margin-right: 0 !important;\r\n margin-left: 0 !important;\r\n }\r\n\r\n &__value-container {\r\n padding: 0px 5px 0px 0px !important;\r\n }\r\n\r\n &__indicator-separator {\r\n display: none;\r\n }\r\n\r\n &__dropdown-indicator {\r\n opacity: .4;\r\n padding: 2px 0px !important;\r\n }\r\n\r\n &__menu {\r\n margin-top: 0 !important;\r\n border: none !important;\r\n\r\n &-list {\r\n border-radius: 0px 0px 4px 4px;\r\n background-color: #fff;\r\n box-shadow: 0 2px 4px 0 rgba(0,0,0,.1);\r\n padding: 5px 10px 10px;\r\n color: #000;\r\n }\r\n }\r\n\r\n &__option {\r\n margin: 5px 0;\r\n font-size: 12px !important;\r\n border-radius: 4px;\r\n\r\n &--is-selected {\r\n background-color: rgba(0,0,0,.1) !important;\r\n color: #000 !important;\r\n }\r\n\r\n &:hover {\r\n background-color: rgba(0,0,0,.1);\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .my-select {\r\n &__wrapper {\r\n width: 100%;\r\n display: block;\r\n margin-bottom: 8px;\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n",".loaderWrapper {\r\n display: flex;\r\n justify-content: center;\r\n margin: 20px auto;\r\n padding: 20px 0px;\r\n border-radius: 6px;\r\n background: #202020;\r\n max-width: 400px;\r\n}",".contentError {\r\n width: 100%;\r\n margin: 20px 0px;\r\n &Icon {\r\n background: url('../../../resources/img/icons/errorIcon.svg');\r\n background-repeat: no-repeat;\r\n background-size: 80%;\r\n background-position: center;\r\n width: 2em;\r\n height: 2em;\r\n display: block;\r\n margin-right: 8px;\r\n }\r\n\r\n &Wrapper {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n\r\n &Text {\r\n line-height: 1.3;\r\n }\r\n\r\n &Title {\r\n font-size: 14px;\r\n }\r\n\r\n &P {\r\n font-size: 12px;\r\n }\r\n}",".card-item {\r\n background-color: rgb(32, 32, 32);\r\n max-width: 380px;\r\n width: 100%;\r\n height: 380px;\r\n background-position: 50%;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n border-radius: 6px;\r\n box-shadow: 0 10px 20px 0 rgba(0,0,0,.2);\r\n padding: 32px 24px;\r\n display: flex;\r\n flex-direction: column;\r\n flex: 0 1 auto;\r\n\r\n &__head {\r\n flex: 1 1 auto;\r\n text-align: center;\r\n \r\n &-name {\r\n font-size: 24px;\r\n font-weight: 700;\r\n }\r\n\r\n &-buttonMore {\r\n margin-top: 16px;\r\n\r\n a {\r\n font-weight: 400;\r\n font-size: 16px;\r\n padding: 10px 35px;\r\n border-radius: 4px;\r\n color: #fff;\r\n background-color: hsla(0,0%,100%,.1);\r\n transition: 0.2s ease;\r\n background-image: none;\r\n display: inline-block; \r\n\r\n &:hover {\r\n color: #000;\r\n background-color: #fff;\r\n opacity: 1\r\n }\r\n }\r\n }\r\n }\r\n &__content {\r\n flex: 0 1 auto;\r\n &-title {\r\n font-size: 16px;\r\n font-weight: 500;\r\n }\r\n\r\n &-items {\r\n width: 100%;\r\n border-top: 1px solid hsla(0,0%,100%,.1);\r\n margin-top: 8px;\r\n padding-top: 8px;\r\n }\r\n\r\n &-game {\r\n display: flex;\r\n justify-content: space-between;\r\n font-size: 14px;\r\n margin-bottom: 6px;\r\n width: 100%;\r\n }\r\n\r\n &-name {\r\n max-width: 75%;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\r\n }\r\n\r\n &-added {\r\n background: url('../../../resources/img/icons/added-dev.svg') no-repeat 100% / 9px 16px;\r\n padding-right: 12px;\r\n opacity: .4;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1200px) {\r\n .card-item {\r\n max-width: none;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .card-item {\r\n &__content {\r\n &-title {\r\n font-size: 14px;\r\n }\r\n\r\n &-name {\r\n max-width: 65%;\r\n }\r\n }\r\n }\r\n}",".card-list {\r\n margin-top: 20px;\r\n\r\n &__ul {\r\n display: grid;\r\n grid-gap: 20px 10px;\r\n justify-items: center;\r\n grid-template-columns: repeat(4, 1fr);\r\n }\r\n\r\n &__li {\r\n max-width: 320px;\r\n width: 100%;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .card-list {\r\n &__ul {\r\n grid-template-columns: repeat(3, 1fr);\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1200px) {\r\n .card-list {\r\n &__ul {\r\n grid-template-columns: repeat(2, 1fr);\r\n }\r\n\r\n &__li {\r\n max-width: none;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .card-list {\r\n &__ul {\r\n grid-template-columns: repeat(1, 1fr);\r\n }\r\n }\r\n}\r\n ",".loaderWrapper {\r\n display: flex;\r\n justify-content: center;\r\n margin-top: 20px;\r\n margin-bottom: 20px;\r\n}",".developer-page {\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n }\r\n\r\n &__count {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-top: 3px;\r\n }\r\n\r\n &__about {\r\n margin-top: 10px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n p {\r\n padding-block-start: 0.5em;\r\n padding-block-end: 0.5em;\r\n }\r\n\r\n h2, h3, h4, h5 {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n\r\n &__games {\r\n margin-top: 20px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .developer-page {\r\n padding-top: 50px !important;\r\n\r\n &__name {\r\n font-size: 36px;\r\n }\r\n }\r\n}",".modal {\r\n position: fixed;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 9999;\r\n\r\n &Overlay {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background-color: rgba(0, 0, 0, 0.7);\r\n }\r\n\r\n &Content {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n width: 100%;\r\n height: 100%;\r\n background-color: #000;\r\n overflow: auto;\r\n box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);\r\n border-radius: 5px;\r\n z-index: 10;\r\n }\r\n\r\n &Close {\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n z-index: 15;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 50px;\r\n height: 50px;\r\n border: 1px solid hsla(0,0%,59.2%,.05);\r\n border-radius: 50%;\r\n background-color: hsla(0,0%,100%,.1);\r\n cursor: pointer;\r\n\r\n .buttonClose {\r\n width: 18px;\r\n height: 19px;\r\n }\r\n }\r\n}\r\n\r\n\r\n","/**\n * Swiper 9.1.0\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2023 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: February 28, 2023\n */\n\n@import 'swiper-vars.scss';\n@at-root {\n @font-face {\n font-family: 'swiper-icons';\n src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA')\n format('woff');\n font-weight: 400;\n font-style: normal;\n }\n}\n@at-root {\n :root {\n --swiper-theme-color: #{$themeColor};\n /*\n --swiper-preloader-color: var(--swiper-theme-color);\n --swiper-wrapper-transition-timing-function: initial;\n */\n }\n}\n.swiper,\nswiper-container {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n /* Fix of Webkit flickering */\n z-index: 1;\n display: block;\n}\n.swiper-vertical > .swiper-wrapper {\n flex-direction: column;\n}\n.swiper-wrapper {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);\n box-sizing: content-box;\n}\n.swiper-android .swiper-slide,\n.swiper-wrapper {\n transform: translate3d(0px, 0, 0);\n}\n.swiper-horizontal {\n touch-action: pan-y;\n}\n.swiper-vertical {\n touch-action: pan-x;\n}\n.swiper-slide,\nswiper-slide {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n display: block;\n}\n.swiper-slide-invisible-blank {\n visibility: hidden;\n}\n/* Auto Height */\n.swiper-autoheight,\n.swiper-autoheight .swiper-slide {\n height: auto;\n}\n.swiper-autoheight .swiper-wrapper {\n align-items: flex-start;\n transition-property: transform, height;\n}\n.swiper-backface-hidden .swiper-slide {\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n/* 3D Effects */\n.swiper-3d.swiper-css-mode .swiper-wrapper {\n perspective: 1200px;\n}\n.swiper-3d .swiper-wrapper {\n transform-style: preserve-3d;\n}\n.swiper-3d {\n perspective: 1200px;\n .swiper-slide,\n .swiper-slide-shadow,\n .swiper-slide-shadow-left,\n .swiper-slide-shadow-right,\n .swiper-slide-shadow-top,\n .swiper-slide-shadow-bottom,\n .swiper-cube-shadow {\n transform-style: preserve-3d;\n }\n .swiper-slide-shadow,\n .swiper-slide-shadow-left,\n .swiper-slide-shadow-right,\n .swiper-slide-shadow-top,\n .swiper-slide-shadow-bottom {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 10;\n }\n .swiper-slide-shadow {\n background: rgba(0, 0, 0, 0.15);\n }\n .swiper-slide-shadow-left {\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n }\n .swiper-slide-shadow-right {\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n }\n .swiper-slide-shadow-top {\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n }\n .swiper-slide-shadow-bottom {\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\n }\n}\n/* CSS Mode */\n.swiper-css-mode {\n > .swiper-wrapper {\n overflow: auto;\n scrollbar-width: none; /* For Firefox */\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\n &::-webkit-scrollbar {\n display: none;\n }\n }\n > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: start start;\n }\n}\n.swiper-horizontal.swiper-css-mode {\n > .swiper-wrapper {\n scroll-snap-type: x mandatory;\n }\n}\n.swiper-vertical.swiper-css-mode {\n > .swiper-wrapper {\n scroll-snap-type: y mandatory;\n }\n}\n.swiper-centered {\n > .swiper-wrapper::before {\n content: '';\n flex-shrink: 0;\n order: 9999;\n }\n > .swiper-wrapper > .swiper-slide {\n scroll-snap-align: center center;\n scroll-snap-stop: always;\n }\n}\n.swiper-centered.swiper-horizontal {\n > .swiper-wrapper > .swiper-slide:first-child {\n margin-inline-start: var(--swiper-centered-offset-before);\n }\n > .swiper-wrapper::before {\n height: 100%;\n min-height: 1px;\n width: var(--swiper-centered-offset-after);\n }\n}\n.swiper-centered.swiper-vertical {\n > .swiper-wrapper > .swiper-slide:first-child {\n margin-block-start: var(--swiper-centered-offset-before);\n }\n > .swiper-wrapper::before {\n width: 100%;\n min-width: 1px;\n height: var(--swiper-centered-offset-after);\n }\n}\n\n.swiper-lazy-preloader {\n width: 42px;\n height: 42px;\n position: absolute;\n left: 50%;\n top: 50%;\n margin-left: -21px;\n margin-top: -21px;\n z-index: 10;\n transform-origin: 50%;\n box-sizing: border-box;\n border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));\n border-radius: 50%;\n border-top-color: transparent;\n}\n.swiper:not(.swiper-watch-progress),\nswiper-container:not(.swiper-watch-progress),\n.swiper-watch-progress .swiper-slide-visible {\n .swiper-lazy-preloader {\n animation: swiper-preloader-spin 1s infinite linear;\n }\n}\n.swiper-lazy-preloader-white {\n --swiper-preloader-color: #fff;\n}\n.swiper-lazy-preloader-black {\n --swiper-preloader-color: #000;\n}\n@keyframes swiper-preloader-spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n\n\n",":root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}",".swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}",".swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}","$ig-small-screen: 768px !default;\n$ig-xsmall-screen: 480px !default;\n$ig-white: #fff !default;\n$ig-black: #000 !default;\n$ig-blue: #337ab7 !default;\n$ig-background-black: rgba(0, 0, 0, .4) !default;\n$ig-transparent: rgba(0, 0, 0, 0) !default;\n$ig-shadow: 0 2px 2px lighten($ig-black, 10%);\n\n@mixin vendor-prefix($name, $value) {\n @each $vendor in ('-webkit-', '-moz-', '-ms-', '-o-', '') {\n #{$vendor}#{$name}: #{$value};\n }\n}\n\n// SVG ICON STYLES\n.image-gallery-icon {\n color: $ig-white;\n transition: all .3s ease-out;\n appearance: none;\n background-color: transparent;\n border: 0;\n cursor: pointer;\n outline: none;\n position: absolute;\n z-index: 4;\n filter: drop-shadow($ig-shadow);\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: $ig-blue;\n .image-gallery-svg {\n transform: scale(1.1);\n }\n }\n }\n\n &:focus {\n // a11y support\n outline: 2px solid $ig-blue;\n }\n}\n\n.image-gallery-using-mouse {\n .image-gallery-icon {\n &:focus {\n outline: none;\n }\n }\n}\n\n.image-gallery-fullscreen-button,\n.image-gallery-play-button {\n bottom: 0;\n padding: 20px;\n\n .image-gallery-svg {\n height: 28px;\n width: 28px;\n }\n\n @media (max-width: $ig-small-screen) {\n padding: 15px;\n\n .image-gallery-svg {\n height: 24px;\n width: 24px;\n }\n }\n\n @media (max-width: $ig-xsmall-screen) {\n padding: 10px;\n\n .image-gallery-svg {\n height: 16px;\n width: 16px;\n }\n }\n}\n\n.image-gallery-fullscreen-button {\n right: 0;\n}\n\n.image-gallery-play-button {\n left: 0;\n}\n\n.image-gallery-left-nav,\n.image-gallery-right-nav {\n padding: 50px 10px;\n top: 50%;\n transform: translateY(-50%);\n\n .image-gallery-svg {\n height: 120px;\n width: 60px;\n }\n\n @media (max-width: $ig-small-screen) {\n .image-gallery-svg {\n height: 72px;\n width: 36px;\n }\n }\n\n @media (max-width: $ig-xsmall-screen) {\n .image-gallery-svg {\n height: 48px;\n width: 24px;\n }\n }\n\n &[disabled] {\n cursor: disabled;\n opacity: .6;\n pointer-events: none;\n }\n}\n\n.image-gallery-left-nav {\n left: 0;\n}\n\n.image-gallery-right-nav {\n right: 0;\n}\n// End of Icon styles\n\n.image-gallery {\n @include vendor-prefix('user-select', none);\n -webkit-tap-highlight-color: $ig-transparent;\n position: relative;\n\n &.fullscreen-modal {\n background: $ig-black;\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n z-index: 5;\n\n .image-gallery-content {\n top: 50%;\n transform: translateY(-50%);\n }\n }\n}\n\n.image-gallery-content {\n position: relative;\n line-height: 0;\n top: 0;\n\n &.fullscreen {\n background: $ig-black;\n }\n\n .image-gallery-slide .image-gallery-image {\n max-height: calc(100vh - 80px); // 80 px for the thumbnail space\n }\n\n &.left,\n &.right {\n .image-gallery-slide .image-gallery-image {\n max-height: 100vh;\n }\n }\n}\n\n.image-gallery-slide-wrapper {\n position: relative;\n\n &.left,\n &.right {\n display: inline-block;\n width: calc(100% - 110px); // 100px + 10px for margin\n\n @media (max-width: $ig-small-screen) {\n width: calc(100% - 87px); // 81px + 6px for margin\n }\n }\n &.image-gallery-rtl {\n direction: rtl;\n }\n}\n\n.image-gallery-slides {\n line-height: 0;\n overflow: hidden;\n position: relative;\n white-space: nowrap;\n text-align: center;\n}\n\n.image-gallery-slide {\n left: 0;\n position: absolute;\n top: 0;\n width: 100%;\n\n &.center {\n position: relative;\n }\n\n .image-gallery-image {\n width: 100%;\n object-fit: contain;\n }\n\n .image-gallery-description {\n background: $ig-background-black;\n bottom: 70px;\n color: $ig-white;\n left: 0;\n line-height: 1;\n padding: 10px 20px;\n position: absolute;\n white-space: normal;\n\n @media (max-width: $ig-small-screen) {\n bottom: 45px;\n font-size: .8em;\n padding: 8px 15px;\n }\n\n }\n}\n\n.image-gallery-bullets {\n bottom: 20px;\n left: 0;\n margin: 0 auto;\n position: absolute;\n right: 0;\n width: 80%;\n z-index: 4;\n\n .image-gallery-bullets-container {\n margin: 0;\n padding: 0;\n text-align: center;\n }\n\n .image-gallery-bullet {\n appearance: none;\n background-color: transparent;\n border: 1px solid $ig-white;\n border-radius: 50%;\n box-shadow: $ig-shadow;\n cursor: pointer;\n display: inline-block;\n margin: 0 5px;\n outline: none;\n padding: 5px;\n transition: all .2s ease-out;\n\n @media (max-width: $ig-small-screen) {\n margin: 0 3px;\n padding: 3px;\n }\n\n @media (max-width: $ig-xsmall-screen) {\n padding: 2.7px;\n }\n\n &:focus {\n transform: scale(1.2);\n background: $ig-blue;\n border: 1px solid $ig-blue;\n }\n\n &.active {\n transform: scale(1.2);\n border: 1px solid $ig-white;\n background: $ig-white;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n background: $ig-blue;\n border: 1px solid $ig-blue;\n }\n\n &.active:hover {\n background: $ig-blue;\n }\n }\n }\n}\n\n.image-gallery-thumbnails-wrapper {\n position: relative;\n\n &.thumbnails-swipe-horizontal {\n touch-action: pan-y;\n }\n\n &.thumbnails-swipe-vertical {\n touch-action: pan-x;\n }\n\n &.thumbnails-wrapper-rtl {\n direction: rtl;\n }\n &.left,\n &.right {\n display: inline-block;\n vertical-align: top;\n width: 100px;\n\n @media (max-width: $ig-small-screen) {\n width: 81px; // 75px + 6px for border\n }\n\n .image-gallery-thumbnails {\n height: 100%;\n width: 100%;\n left: 0;\n padding: 0;\n position: absolute;\n top: 0;\n\n .image-gallery-thumbnail {\n display: block;\n margin-right: 0;\n padding: 0;\n\n + .image-gallery-thumbnail {\n margin-left: 0;\n margin-top: 2px;\n }\n\n }\n\n }\n }\n\n &.left,\n &.right {\n margin: 0 5px;\n\n @media (max-width: $ig-small-screen) {\n margin: 0 3px;\n }\n }\n}\n\n.image-gallery-thumbnails {\n overflow: hidden;\n padding: 5px 0;\n\n @media (max-width: $ig-small-screen) {\n padding: 3px 0;\n }\n\n .image-gallery-thumbnails-container {\n cursor: pointer;\n text-align: center;\n white-space: nowrap;\n }\n\n}\n\n.image-gallery-thumbnail {\n display: inline-block;\n border: 4px solid transparent;\n transition: border .3s ease-out;\n width: 100px;\n background: transparent;\n padding: 0;\n\n @media (max-width: $ig-small-screen) {\n border: 3px solid transparent;\n width: 81px;\n }\n\n + .image-gallery-thumbnail {\n margin-left: 2px;\n }\n\n .image-gallery-thumbnail-inner {\n display: block;\n position: relative;\n }\n\n .image-gallery-thumbnail-image {\n vertical-align: middle;\n width: 100%;\n line-height: 0;\n }\n\n &.active,\n &:focus {\n outline: none;\n border: 4px solid $ig-blue;\n\n @media (max-width: $ig-small-screen) {\n border: 3px solid $ig-blue;\n }\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n outline: none;\n border: 4px solid $ig-blue;\n\n @media (max-width: $ig-small-screen) {\n border: 3px solid $ig-blue;\n }\n }\n }\n\n}\n\n.image-gallery-thumbnail-label {\n box-sizing: border-box;\n color: white;\n font-size: 1em;\n left: 0;\n line-height: 1em;\n padding: 5%;\n position: absolute;\n top: 50%;\n text-shadow: $ig-shadow;\n transform: translateY(-50%);\n white-space: normal;\n width: 100%;\n\n @media(max-width: $ig-small-screen) {\n font-size: .8em;\n line-height: .8em;\n }\n}\n\n.image-gallery-index {\n background: $ig-background-black;\n color: $ig-white;\n line-height: 1;\n padding: 10px 20px;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 4;\n\n @media(max-width: $ig-small-screen) {\n font-size: .8em;\n padding: 5px 10px;\n }\n}\n",".game-screenshot__inner {\r\n margin-top: 10px;\r\n display: flex;\r\n flex-wrap: wrap;\r\n width: 1200px;\r\n\r\n .swiper-button-prev, .swiper-button-next {\r\n color: #fff;\r\n\r\n &:after {\r\n font-size: 25px;\r\n }\r\n }\r\n\r\n .swiper-pagination-bullet {\r\n background-color: #fff;\r\n }\r\n}\r\n\r\n.game-screenshot {\r\n display: block;\r\n}\r\n\r\n.image-gallery {\r\n &-left-nav, &-svg, &-right-nav {\r\n padding: 35px 20px;\r\n display: block;\r\n }\r\n\r\n &-svg {\r\n padding: 0px;\r\n height: 61px !important;\r\n width: 60px !important;\r\n border: 1px solid hsla(0, 0%, 59.2%, .05);\r\n border-radius: 50%;\r\n background-color: hsla(0, 0%, 100%, .05);\r\n\r\n &:hover {\r\n background-color: #fff;\r\n }\r\n }\r\n}\r\n\r\n.image-gallery-thumbnail {\r\n border: 0;\r\n border-radius: 6px;\r\n opacity: 0.3;\r\n\r\n &.active {\r\n border: 0;\r\n opacity: 1;\r\n }\r\n\r\n &:hover {\r\n border: 0;\r\n }\r\n}\r\n\r\n.image-gallery-thumbnail + .image-gallery-thumbnail {\r\n margin: 20px 0 0 20px;\r\n}\r\n\r\n.image-gallery-bullets .image-gallery-bullet {\r\n padding: 4px;\r\n}\r\n\r\n.image-gallery-index {\r\n bottom: 0;\r\n top: auto;\r\n}\r\n\r\n.image-gallery-index-separator {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n}\r\n\r\n.image-gallery-content .image-gallery-slide .image-gallery-image{\r\n max-height: calc(98vh - 80px);\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .game-screenshot {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .screenshots-slider {\r\n .swiper-slide {\r\n width: 300px !important;\r\n }\r\n }\r\n .game-screenshot {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n .swiper-button-next, .swiper-button-prev {\r\n display: none;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n",".game-achievements__inner {\r\n margin-top: 15px;\r\n display: flex;\r\n flex-wrap: wrap;\r\n}\r\n\r\n.game-achieve {\r\n flex-basis: 30%;\r\n margin-right: 10px;\r\n margin-bottom: 10px;\r\n display: flex;\r\n\r\n &__photo {\r\n height: 56px;\r\n width: 56px;\r\n flex-shrink: 0;\r\n margin-right: 16px;\r\n border-radius: 6px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 6px;\r\n }\r\n }\r\n\r\n &__name {\r\n font-size: 16px;\r\n font-weight: 500;\r\n }\r\n\r\n &__percent {\r\n font-size: 12px;\r\n margin-top: 2px;\r\n }\r\n\r\n &__descr {\r\n font-size: 12px;\r\n margin-top: 4px;\r\n color: hsla(0,0%,100%,.4);\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .game-achievements {\r\n &__inner {\r\n flex-direction: column;\r\n }\r\n }\r\n\r\n .game-achieve {\r\n width: 100%;\r\n padding: 16px 0;\r\n border-bottom: 1px solid hsla(0,0%,100%,.1);\r\n\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n \r\n &__photo {\r\n width: 48px;\r\n height: 48px;\r\n }\r\n\r\n &__text {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n &__name {\r\n order: 1;\r\n font-size: 14px;\r\n margin-top: 2px;\r\n }\r\n\r\n &__descr {\r\n order: 2;\r\n }\r\n }\r\n}",".game-devs__inner {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin-top: 15px;\r\n width: 1200px;\r\n\r\n .swiper-button-prev, .swiper-button-next {\r\n color: #fff;\r\n\r\n &:after {\r\n font-size: 25px;\r\n }\r\n }\r\n\r\n .swiper-pagination {\r\n bottom: 5px;\r\n }\r\n\r\n .swiper-pagination-bullet {\r\n background-color: #fff;\r\n }\r\n}\r\n\r\n.game-developer {\r\n max-width: 300px;\r\n width: 100%;\r\n height: 430px;\r\n padding: 32px 24px;\r\n background-color: rgb(32, 32, 32);\r\n background-position: 50%;\r\n background-repeat: no-repeat;\r\n background-size: cover;\r\n border-radius: 6px;\r\n box-shadow: 0 10px 20px 0 rgb(0 0 0 / 20%);\r\n display: flex;\r\n flex-direction: column;\r\n flex: 0 1 auto;\r\n\r\n &__head {\r\n text-align: center;\r\n margin: 16px 0px;\r\n flex: 1 1 auto;\r\n \r\n &-photo {\r\n margin: 0 auto;\r\n \r\n img {\r\n border-radius: 50%;\r\n width: 128px;\r\n height: 128px;\r\n object-fit: cover;\r\n object-position: center;\r\n }\r\n }\r\n\r\n &-name {\r\n margin-top: 12px;\r\n font-size: 21px;\r\n font-weight: 700;\r\n \r\n a {\r\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\r\n }\r\n }\r\n\r\n &-positions {\r\n display: flex;\r\n justify-content: center;\r\n }\r\n\r\n &-position {\r\n margin-top: 8px;\r\n margin-right: 5px;\r\n font-size: 13px;\r\n\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n }\r\n }\r\n\r\n &__button-more {\r\n display: grid;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n background-image: none;\r\n\r\n button {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 0 1 auto;\r\n padding: 15px 56px;\r\n background-color: hsla(0,0%,100%,.1);\r\n color: hsla(0,0%,100%,.4);\r\n border-radius: 4px;\r\n transition: 0.2s ease;\r\n\r\n &:hover {\r\n background-color: #fff;\r\n color: #000;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.devs-slider {\r\n .swiper-slide {\r\n display: flex;\r\n justify-content: center;\r\n min-width: 300px !important;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .game-devs {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .game-screenshot {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n .devs-slider {\r\n .swiper-slide {\r\n width: 264px !important;\r\n min-width: 0px !important;\r\n }\r\n }\r\n .swiper-button-next, .swiper-button-prev {\r\n display: none;\r\n }\r\n\r\n .game-developer {\r\n width: 264px;\r\n height: 354px;\r\n\r\n &__head {\r\n &-photo {\r\n img {\r\n width: 96px;\r\n height: 96px;\r\n }\r\n }\r\n\r\n &-name {\r\n font-size: 18px;\r\n }\r\n\r\n &-position {\r\n font-size: 12px;\r\n }\r\n }\r\n }\r\n}\r\n",".game-reddit__inner {\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: flex-start;\r\n margin-top: 20px;\r\n}\r\n\r\n.game-reddit__post {\r\n max-width: 290px;\r\n margin-right: 48px;\r\n width: 100%;\r\n margin-bottom: 26px;\r\n\r\n &:nth-child(even) {\r\n margin-right: 0;\r\n }\r\n\r\n &-head {\r\n display: flex;\r\n width: 100%;\r\n }\r\n\r\n &-photo {\r\n max-width: 70px;\r\n flex: 0 0 auto;\r\n margin-right: 16px;\r\n \r\n img {\r\n width: 70px;\r\n height: 40px;\r\n }\r\n }\r\n\r\n &-name {\r\n font-weight: 700;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n\r\n &-meta {\r\n margin-top: 8px;\r\n display: flex;\r\n align-items: center;\r\n font-size: 12px;\r\n color: hsla(0,0%,100%,.4);\r\n }\r\n\r\n &-separator {\r\n margin-left: 4px;\r\n margin-right: 4px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .game-reddit {\r\n &__post {\r\n max-width: 100%;\r\n width: 100%;\r\n padding-bottom: 16px;\r\n border-bottom: 1px solid hsla(0,0%,100%,.1);\r\n margin-right: 0;\r\n\r\n a {\r\n color: inherit;\r\n }\r\n\r\n &-photo {\r\n order: 1;\r\n flex: 0 0 auto;\r\n margin: 0 10px 0 16px;\r\n }\r\n\r\n &-name {\r\n flex: 1 1 auto;\r\n }\r\n\r\n &-meta {\r\n font-weight: 500;\r\n }\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .game-page__reddit {\r\n &-meta {\r\n font-size: 14px;\r\n }\r\n\r\n &__post {\r\n &-name {\r\n font-size: 14px;\r\n }\r\n }\r\n }\r\n}",".game-additions__inner {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin-top: 10px;\r\n width: 1200px;\r\n}\r\n\r\n.game-addition {\r\n max-width: 290px;\r\n width: 100%;\r\n margin-bottom: 10px;\r\n margin-right: 10px;\r\n\r\n &.no-game {\r\n background-color: #202020;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n &__no-game {\r\n button {\r\n padding: 15px 56px;\r\n background-color: hsla(0, 0%, 100%, 0.1);\r\n color: hsla(0, 0%, 100%, 0.4);\r\n border-radius: 4px;\r\n transition: 0.2s ease;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .game-additions {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .game-additions {\r\n &__inner {\r\n width: auto;\r\n }\r\n }\r\n .swiper-button-next, .swiper-button-prev {\r\n display: none;\r\n }\r\n}\r\n",".stores-inner {\r\n margin-top: 10px;\r\n display: flex;\r\n flex-wrap: wrap;\r\n align-items: center;\r\n color: hsla(0, 0%, 100%, .5);\r\n}\r\n\r\n.stores-button {\r\n flex-basis: 33%;\r\n margin-right: 10px;\r\n margin-bottom: 5px;\r\n padding: 10px 20px;\r\n border-radius: 5px;\r\n color: hsla(0, 0%, 100%, .5);\r\n background-color: hsla(0, 0%, 100%, .1);\r\n background-image: none;\r\n text-align: center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transition: 0.2s ease;\r\n\r\n &:hover {\r\n background-color: hsla(0, 0%, 100%, .4);\r\n }\r\n\r\n img {\r\n display: block;\r\n max-width: 21px;\r\n height: 21px;\r\n width: 100%;\r\n margin-left: 10px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .stores-slider {\r\n .swiper-slide {\r\n width: 184px !important;\r\n }\r\n }\r\n .stores-button {\r\n margin-right: 0;\r\n width: 184px;\r\n height: 40px;\r\n font-size: 14px;\r\n flex-basis: auto;\r\n }\r\n}\r\n\r\n.swiper-scrollbar {\r\n height: 3px !important;\r\n\r\n &-drag {\r\n background: hsla(0,0%,100%,.2);\r\n }\r\n}\r\n",".reqs {\r\n &-name {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n\r\n &-ul {\r\n padding-inline-start: 40px;\r\n padding-block-start: 16px;\r\n padding-block-end: 16px;\r\n list-style-type: disc;\r\n }\r\n\r\n &-li {\r\n margin: 3px 0px;\r\n font-size: 15px;\r\n display: list-item;\r\n list-style: inherit;\r\n }\r\n\r\n &-undefined {\r\n font-size: 15px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .reqs {\r\n &-name {\r\n font-size: 16px;\r\n }\r\n &-li {\r\n font-size: 14px;\r\n }\r\n\r\n &-undefined {\r\n font-size: 14px;\r\n }\r\n }\r\n}",".game-page {\r\n &__wrapper {\r\n max-width: 900px;\r\n }\r\n\r\n &__head {\r\n display: flex;\r\n align-items: center;\r\n width: 1200px;\r\n\r\n &-date,\r\n &-platforms,\r\n &-playtime,\r\n &-genres {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-right: 20px;\r\n }\r\n\r\n .platforms {\r\n margin-bottom: 0;\r\n }\r\n\r\n &-genres {\r\n display: flex;\r\n\r\n .genre {\r\n margin-right: 5px;\r\n padding: 5px;\r\n border: 1px solid #fff;\r\n font-size: 13px;\r\n background-image: none;\r\n }\r\n }\r\n }\r\n\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n margin-top: 10px;\r\n }\r\n\r\n &__ratings {\r\n margin-top: 10px;\r\n display: flex;\r\n align-items: center;\r\n\r\n &-default {\r\n display: flex;\r\n align-items: center;\r\n margin-right: 5px;\r\n\r\n span {\r\n margin-right: 15px;\r\n font-size: 17px;\r\n padding: 7px;\r\n }\r\n\r\n .greenRating {\r\n border: 2px solid #00CC00;\r\n }\r\n\r\n .orangeRating {\r\n border: 2px solid #FFA500;\r\n }\r\n\r\n .redRating {\r\n border: 2px solid #ff3300;\r\n }\r\n }\r\n\r\n &-users {\r\n display: flex;\r\n align-items: center;\r\n\r\n .rating-users {\r\n margin-right: 15px;\r\n font-size: 17px;\r\n font-weight: 500;\r\n }\r\n }\r\n }\r\n\r\n &__stores {\r\n margin-top: 20px;\r\n\r\n &-head {\r\n font-size: 18px;\r\n color: #a5a4a4;\r\n }\r\n }\r\n\r\n &__about {\r\n margin-top: 32px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n .expand {\r\n display: inline;\r\n font-size: 13px;\r\n margin-top: 5px;\r\n font-weight: 400;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n p {\r\n padding-block-end: 0.2em;\r\n padding-block-start: 0.2em;\r\n }\r\n\r\n h2, h3, h4, h5, h6 {\r\n font-weight: 500;\r\n font-size: 17px;\r\n margin: 5px 0px;\r\n }\r\n }\r\n }\r\n\r\n &__meta {\r\n margin-top: 30px;\r\n display: flex;\r\n flex-wrap: wrap;\r\n\r\n .meta-big {\r\n flex-basis: 100%;\r\n }\r\n\r\n &-block {\r\n flex-basis: 50%;\r\n margin-bottom: 20px;\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n }\r\n\r\n &-title {\r\n color: #a5a4a4;\r\n font-size: 14px;\r\n font-weight: 500;\r\n }\r\n\r\n &-info {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin-top: 10px;\r\n }\r\n\r\n &-link, &-text, &-tag {\r\n margin-right: 5px;\r\n margin-bottom: 3px;\r\n }\r\n\r\n &-link {\r\n color: #fff;\r\n background: linear-gradient(0deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .4) 0, hsla(0, 0%, 100%, .4) 1px, hsla(0, 0%, 100%, 0) 0);\r\n transition: 0.2s ease;\r\n\r\n &:hover {\r\n color: #a5a4a4;\r\n }\r\n }\r\n\r\n &-text {\r\n color: #fff;\r\n font-size: 16px;\r\n }\r\n\r\n &-tag {\r\n padding: 5px 10px;\r\n background-color: hsla(0, 0%, 100%, 0.06);\r\n border-radius: 5px;\r\n transition: 0.2s ease;\r\n\r\n a {\r\n background-image: none;\r\n }\r\n\r\n &:hover {\r\n background-color: #fff;\r\n \r\n a {\r\n color: #000;\r\n }\r\n }\r\n }\r\n }\r\n\r\n &__reqs {\r\n margin-top: 32px;\r\n\r\n &-head {\r\n font-size: 24px;\r\n font-weight: 500;\r\n }\r\n\r\n &-inner {\r\n margin-top: 16px;\r\n }\r\n }\r\n\r\n &__media {\r\n margin-top: 32px;\r\n\r\n &-title {\r\n font-size: 24px;\r\n font-weight: 500;\r\n }\r\n }\r\n\r\n &__screenshots {\r\n margin-top: 15px;\r\n &-title {\r\n font-size: 18px;\r\n font-weight: 500;\r\n }\r\n }\r\n\r\n &__achievements {\r\n margin-top: 32px;\r\n }\r\n\r\n &__developers {\r\n margin-top: 32px;\r\n }\r\n\r\n &__reddit {\r\n margin-top: 22px;\r\n\r\n a {\r\n background-image: none;\r\n }\r\n\r\n &-head {\r\n display: flex;\r\n align-items: baseline;\r\n width: 100%;\r\n }\r\n\r\n .page__title {\r\n flex: 1 1 auto;\r\n }\r\n\r\n &-meta {\r\n margin-top: 10px;\r\n font-size: 14px;\r\n\r\n &__head {\r\n display: flex;\r\n margin-bottom: 5px;\r\n }\r\n }\r\n\r\n &-label {\r\n color: #a5a4a4;\r\n font-weight: 500;\r\n }\r\n\r\n &-count, &-buttonMore, &-separator {\r\n font-size: 14px;\r\n color: hsla(0,0%,100%,.4) !important;\r\n }\r\n\r\n &-separator {\r\n margin-right: 4px;\r\n margin-left: 4px;\r\n }\r\n }\r\n\r\n &__additions {\r\n margin-top: 32px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 1440px) {\r\n .game__wrapper {\r\n max-width: 1000px;\r\n }\r\n\r\n .game-page {\r\n &__head {\r\n width: auto;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .game-page {\r\n padding-top: 40px !important;\r\n\r\n &__main {\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n &__name {\r\n text-align: center;\r\n font-size: 36px;\r\n order: 0;\r\n }\r\n\r\n &__head {\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n flex-direction: column;\r\n order: 1;\r\n\r\n &-date,\r\n &-platforms,\r\n &-playtime,\r\n &-genres {\r\n margin: 10px 5px 0px 5px;\r\n }\r\n\r\n &-platforms {\r\n order: 1;\r\n }\r\n\r\n &-playtime {\r\n order: 2;\r\n }\r\n }\r\n\r\n &__ratings {\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n }\r\n }\r\n}\r\n\r\n@media screen and (max-width: 576px) {\r\n .game-page {\r\n padding-top: 30px !important;\r\n \r\n &__ratings {\r\n order: 2;\r\n\r\n &-default, &-users {\r\n margin-bottom: 10px;\r\n }\r\n }\r\n\r\n &__about-text {\r\n font-size: 14px;\r\n }\r\n\r\n &__meta {\r\n &-title {\r\n color: hsla(0,0%,100%,.2);\r\n font-weight: 500;\r\n }\r\n\r\n &-link {\r\n font-size: 14px;\r\n word-wrap: break-word;\r\n }\r\n\r\n &-tag {\r\n font-size: 14px;\r\n }\r\n\r\n &-text {\r\n font-size: 14px;\r\n }\r\n }\r\n\r\n .page__title {\r\n font-weight: 500;\r\n font-size: 20px;\r\n }\r\n }\r\n}\r\n\r\n\r\n",".publisher-page {\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n }\r\n\r\n &__count {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-top: 3px;\r\n }\r\n\r\n &__about {\r\n margin-top: 10px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n p {\r\n padding-block-start: 0.5em;\r\n padding-block-end: 0.5em;\r\n }\r\n\r\n h2, h3, h4, h5 {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n\r\n &__games {\r\n margin-top: 20px;\r\n }\r\n}\r\n\r\n\r\n@media screen and (max-width: 992px) {\r\n .publisher-page {\r\n padding-top: 50px !important;\r\n\r\n &__name {\r\n font-size: 36px;\r\n }\r\n }\r\n}",".genre-page {\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n }\r\n\r\n &__count {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-top: 3px;\r\n }\r\n\r\n &__about {\r\n margin-top: 10px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n p {\r\n padding-block-start: 0.5em;\r\n padding-block-end: 0.5em;\r\n }\r\n\r\n h2, h3, h4, h5 {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n\r\n &__games {\r\n margin-top: 20px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .genre-page {\r\n padding-top: 50px !important;\r\n\r\n &__name {\r\n font-size: 36px;\r\n }\r\n }\r\n}",".platform-page {\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n }\r\n\r\n &__count {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-top: 3px;\r\n }\r\n\r\n &__about {\r\n margin-top: 10px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n p {\r\n padding-block-start: 0.5em;\r\n padding-block-end: 0.5em;\r\n }\r\n\r\n h2, h3, h4, h5 {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n\r\n &__games {\r\n margin-top: 20px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .platform-page {\r\n padding-top: 50px !important;\r\n\r\n &__name {\r\n font-size: 36px;\r\n }\r\n }\r\n}",".tag-page {\r\n &__name {\r\n font-size: 46px;\r\n font-weight: 700;\r\n }\r\n\r\n &__count {\r\n text-transform: uppercase;\r\n font-size: 14px;\r\n margin-top: 3px;\r\n }\r\n\r\n &__about {\r\n margin-top: 10px;\r\n\r\n &-text {\r\n font-size: 16px;\r\n margin-top: 10px;\r\n line-height: 1.3;\r\n\r\n p {\r\n padding-block-start: 0.5em;\r\n padding-block-end: 0.5em;\r\n }\r\n\r\n h2, h3, h4, h5 {\r\n font-weight: 500;\r\n font-size: 18px;\r\n }\r\n }\r\n }\r\n\r\n &__games {\r\n margin-top: 20px;\r\n }\r\n}\r\n\r\n@media screen and (max-width: 992px) {\r\n .tag-page {\r\n padding-top: 50px !important;\r\n\r\n &__name {\r\n font-size: 36px;\r\n }\r\n }\r\n}",".search-page {\r\n .section-header {\r\n display: flex;\r\n align-items: center;\r\n }\r\n\r\n .section-title {\r\n flex: 1 1 auto;\r\n }\r\n}","@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;0,900;1,400;1,500;1,700;1,900&display=swap');\n\nbody {\n font-family: 'Roboto', sans-serif;\n color: #fff;\n background-color: #151515;\n}\n\n* {\n\tpadding: 0px;\n\tmargin: 0px;\n\tborder: none;\n}\n\n*,\n*::before,\n*::after {\n\tbox-sizing: border-box;\n}\n\na {\n background-image: linear-gradient(0deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.4) 0,hsla(0,0%,100%,.4) 1px,hsla(0,0%,100%,0) 0);\n color: #fff;\n text-decoration: none;\n transition: all .2s ease;\n\n &:hover {\n color: hsla(0,0%,100%,.4);\n }\n}\n\n\naside, nav, footer, header, section, main {\n\tdisplay: block;\n}\n\nh1, h2, h3, h4, h5, h6, p {\n font-size: inherit;\n\tfont-weight: inherit;\n}\n\nul, ul li {\n\tlist-style: none;\n}\n\nimg {\n\tvertical-align: top;\n}\n\nimg, svg {\n\tmax-width: 100%;\n\theight: auto;\n}\n\naddress {\n font-style: normal;\n}\n\ninput, textarea, button, select {\n\tfont-family: inherit;\n font-size: inherit;\n color: inherit;\n background-color: transparent;\n}\n\ninput::-ms-clear {\n\tdisplay: none;\n}\n\nbutton, input[type=\"submit\"] {\n display: inline-block;\n box-shadow: none;\n background-color: transparent;\n background: none;\n cursor: pointer;\n}\n\ninput:focus, input:active,\nbutton:focus, button:active {\n outline: none;\n}\n\nbutton::-moz-focus-inner {\n\tpadding: 0;\n\tborder: 0;\n}\n\nlabel {\n\tcursor: pointer;\n}\n\nlegend {\n\tdisplay: block;\n}\n\n.container {\n max-width: 1440px;\n width: 100%;\n margin: 0 auto;\n padding: 0 5px;\n overflow-x: hidden;\n}\n\n.section-header {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n\n.section-title {\n font-size: 48px;\n font-weight: 700;\n text-align: left;\n}\n\n.page__title {\n font-size: 24px;\n font-weight: 700;\n}\n\n.page-art {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -2;\n width: 100%;\n height: 100%;\n\n &__wrapper {\n width: 100%;\n min-height: 100%;\n }\n\n .art {\n max-height: 100%;\n background-size: cover;\n height: 500px;\n background-color: transparent;\n z-index: 1;\n }\n}\n\n.page-art__additional {\n position: absolute;\n left: 0;\n margin-top: -300px;\n z-index: -10;\n opacity: .4;\n width: 100%;\n height: 600px;\n background: no-repeat 50%/cover;\n}\n\n.page {\n min-height: 100%;\n padding-top: 50px;\n padding-bottom: 50px;\n position: relative;\n}\n\n.page__about {\n &-text {\n line-height: 1.3;\n p {\n padding-block-start: 0.3em;\n padding-block-end: 0.3em;\n font-size: 15px;\n }\n }\n}\n\n.observer {\n height: 10px;\n}\n\n.page__control {\n display: flex;\n align-items: stretch;\n\n &-filters {\n display: flex;\n flex: 1 1 auto;\n\n .my-select__wrapper {\n margin-right: 15px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n }\n\n &-display {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 1 auto;\n\n &__title {\n margin-right: 16px;\n font-size: 14px;\n opacity: .4;\n }\n\n &__items {\n display: flex;\n }\n \n &__option {\n width: 38px;\n height: 38px;\n transition: opacity .3s;\n opacity: .4;\n margin-right: 8px;\n\n &:last-child {\n margin-right: 0;\n }\n\n &.display-active {\n opacity: 1;\n }\n\n &:hover {\n opacity: 0.6;\n }\n }\n\n .display-column {\n background: url('./resources/img/icons/column-icon.svg');\n background-repeat: no-repeat;\n background-size: contain;\n }\n\n .display-list {\n background: url('./resources/img/icons/list-icon.svg');\n background-repeat: no-repeat;\n background-size: contain;\n }\n }\n}\n\n@media screen and (max-width: 1440px) {\n .container {\n padding: 0 40px;\n }\n}\n\n@media screen and (max-width: 992px) {\n .page {\n padding-top: 0px;\n &__control-display {\n display: none;\n }\n }\n\n .section-title {\n font-size: 36px;\n }\n}\n\n@media screen and (max-width: 576px) {\n .page__control-filters {\n flex-direction: column;\n flex: auto;\n }\n\n .container {\n padding: 0px 15px;\n }\n\n .page-art .art {\n height: 300px;\n }\n}\n\n\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.fb972fea.js b/static/js/main.fb972fea.js new file mode 100644 index 0000000..992ce80 --- /dev/null +++ b/static/js/main.fb972fea.js @@ -0,0 +1,3 @@ +/*! For license information please see main.fb972fea.js.LICENSE.txt */ +!function(){var e={703:function(e){e.exports=function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,n){return t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(e,n)}function n(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function r(e,a,i){return r=n()?Reflect.construct:function(e,n,r){var a=[null];a.push.apply(a,n);var i=new(Function.bind.apply(e,a));return r&&t(i,r.prototype),i},r.apply(null,arguments)}function a(e,t){return s(e)||u(e,t)||c(e,t)||p()}function i(e){return o(e)||l(e)||c(e)||f()}function o(e){if(Array.isArray(e))return d(e)}function s(e){if(Array.isArray(e))return e}function l(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function u(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i=[],o=!0,s=!1;try{for(n=n.call(e);!(o=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);o=!0);}catch(l){s=!0,a=l}finally{try{o||null==n.return||n.return()}finally{if(s)throw a}}return i}}function c(e,t){if(e){if("string"===typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function p(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=c(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}var m=Object.entries,v=Object.setPrototypeOf,g=Object.isFrozen,y=Object.getPrototypeOf,b=Object.getOwnPropertyDescriptor,w=Object.freeze,x=Object.seal,S=Object.create,_="undefined"!==typeof Reflect&&Reflect,k=_.apply,E=_.construct;k||(k=function(e,t,n){return e.apply(t,n)}),w||(w=function(e){return e}),x||(x=function(e){return e}),E||(E=function(e,t){return r(e,i(t))});var T=D(Array.prototype.forEach),C=D(Array.prototype.pop),O=D(Array.prototype.push),j=D(String.prototype.toLowerCase),N=D(String.prototype.toString),P=D(String.prototype.match),L=D(String.prototype.replace),M=D(String.prototype.indexOf),I=D(String.prototype.trim),R=D(RegExp.prototype.test),A=z(TypeError);function D(e){return function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return k(e,t,r)}}function z(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return E(e,n)}}function F(e,t,n){n=n||j,v&&v(e,null);for(var r=t.length;r--;){var a=t[r];if("string"===typeof a){var i=n(a);i!==a&&(g(t)||(t[r]=i),a=i)}e[a]=!0}return e}function B(e){var t,n=S(null),r=h(m(e));try{for(r.s();!(t=r.n()).done;){var i=a(t.value,2),o=i[0],s=i[1];n[o]=s}}catch(l){r.e(l)}finally{r.f()}return n}function V(e,t){for(;null!==e;){var n=b(e,t);if(n){if(n.get)return D(n.get);if("function"===typeof n.value)return D(n.value)}e=y(e)}function r(e){return console.warn("fallback value for",e),null}return r}var U=w(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),H=w(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),W=w(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),G=w(["animate","color-profile","cursor","discard","fedropshadow","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),$=w(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),q=w(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),K=w(["#text"]),Y=w(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),X=w(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Q=w(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),J=w(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Z=x(/\{\{[\w\W]*|[\w\W]*\}\}/gm),ee=x(/<%[\w\W]*|[\w\W]*%>/gm),te=x(/\${[\w\W]*}/gm),ne=x(/^data-[\-\w.\u00B7-\uFFFF]/),re=x(/^aria-[\-\w]+$/),ae=x(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ie=x(/^(?:\w+script|data):/i),oe=x(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),se=x(/^html$/i),le=function(){return"undefined"===typeof window?null:window},ue=function(t,n){if("object"!==e(t)||"function"!==typeof t.createPolicy)return null;var r=null,a="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(a)&&(r=n.currentScript.getAttribute(a));var i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(o){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function ce(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:le(),n=function(e){return ce(e)};if(n.version="3.0.1",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var r=t.document,a=t.document,o=t.DocumentFragment,s=t.HTMLTemplateElement,l=t.Node,u=t.Element,c=t.NodeFilter,d=t.NamedNodeMap,f=void 0===d?t.NamedNodeMap||t.MozNamedAttrMap:d,p=t.HTMLFormElement,h=t.DOMParser,v=t.trustedTypes,g=u.prototype,y=V(g,"cloneNode"),b=V(g,"nextSibling"),x=V(g,"childNodes"),S=V(g,"parentNode");if("function"===typeof s){var _=a.createElement("template");_.content&&_.content.ownerDocument&&(a=_.content.ownerDocument)}var k=ue(v,r),E=k?k.createHTML(""):"",D=a,z=D.implementation,de=D.createNodeIterator,fe=D.createDocumentFragment,pe=D.getElementsByTagName,he=r.importNode,me={};n.isSupported="function"===typeof m&&"function"===typeof S&&z&&"undefined"!==typeof z.createHTMLDocument;var ve,ge,ye=Z,be=ee,we=te,xe=ne,Se=re,_e=ie,ke=oe,Ee=ae,Te=null,Ce=F({},[].concat(i(U),i(H),i(W),i($),i(K))),Oe=null,je=F({},[].concat(i(Y),i(X),i(Q),i(J))),Ne=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Pe=null,Le=null,Me=!0,Ie=!0,Re=!1,Ae=!0,De=!1,ze=!1,Fe=!1,Be=!1,Ve=!1,Ue=!1,He=!1,We=!0,Ge=!1,$e="user-content-",qe=!0,Ke=!1,Ye={},Xe=null,Qe=F({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Je=null,Ze=F({},["audio","video","img","source","image","track"]),et=null,tt=F({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nt="http://www.w3.org/1998/Math/MathML",rt="http://www.w3.org/2000/svg",at="http://www.w3.org/1999/xhtml",it=at,ot=!1,st=null,lt=F({},[nt,rt,at],N),ut=["application/xhtml+xml","text/html"],ct="text/html",dt=null,ft=a.createElement("form"),pt=function(e){return e instanceof RegExp||e instanceof Function},ht=function(t){dt&&dt===t||(t&&"object"===e(t)||(t={}),t=B(t),ve=ve=-1===ut.indexOf(t.PARSER_MEDIA_TYPE)?ct:t.PARSER_MEDIA_TYPE,ge="application/xhtml+xml"===ve?N:j,Te="ALLOWED_TAGS"in t?F({},t.ALLOWED_TAGS,ge):Ce,Oe="ALLOWED_ATTR"in t?F({},t.ALLOWED_ATTR,ge):je,st="ALLOWED_NAMESPACES"in t?F({},t.ALLOWED_NAMESPACES,N):lt,et="ADD_URI_SAFE_ATTR"in t?F(B(tt),t.ADD_URI_SAFE_ATTR,ge):tt,Je="ADD_DATA_URI_TAGS"in t?F(B(Ze),t.ADD_DATA_URI_TAGS,ge):Ze,Xe="FORBID_CONTENTS"in t?F({},t.FORBID_CONTENTS,ge):Qe,Pe="FORBID_TAGS"in t?F({},t.FORBID_TAGS,ge):{},Le="FORBID_ATTR"in t?F({},t.FORBID_ATTR,ge):{},Ye="USE_PROFILES"in t&&t.USE_PROFILES,Me=!1!==t.ALLOW_ARIA_ATTR,Ie=!1!==t.ALLOW_DATA_ATTR,Re=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Ae=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,De=t.SAFE_FOR_TEMPLATES||!1,ze=t.WHOLE_DOCUMENT||!1,Ve=t.RETURN_DOM||!1,Ue=t.RETURN_DOM_FRAGMENT||!1,He=t.RETURN_TRUSTED_TYPE||!1,Be=t.FORCE_BODY||!1,We=!1!==t.SANITIZE_DOM,Ge=t.SANITIZE_NAMED_PROPS||!1,qe=!1!==t.KEEP_CONTENT,Ke=t.IN_PLACE||!1,Ee=t.ALLOWED_URI_REGEXP||Ee,it=t.NAMESPACE||at,Ne=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&pt(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ne.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&pt(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ne.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"===typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ne.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),De&&(Ie=!1),Ue&&(Ve=!0),Ye&&(Te=F({},i(K)),Oe=[],!0===Ye.html&&(F(Te,U),F(Oe,Y)),!0===Ye.svg&&(F(Te,H),F(Oe,X),F(Oe,J)),!0===Ye.svgFilters&&(F(Te,W),F(Oe,X),F(Oe,J)),!0===Ye.mathMl&&(F(Te,$),F(Oe,Q),F(Oe,J))),t.ADD_TAGS&&(Te===Ce&&(Te=B(Te)),F(Te,t.ADD_TAGS,ge)),t.ADD_ATTR&&(Oe===je&&(Oe=B(Oe)),F(Oe,t.ADD_ATTR,ge)),t.ADD_URI_SAFE_ATTR&&F(et,t.ADD_URI_SAFE_ATTR,ge),t.FORBID_CONTENTS&&(Xe===Qe&&(Xe=B(Xe)),F(Xe,t.FORBID_CONTENTS,ge)),qe&&(Te["#text"]=!0),ze&&F(Te,["html","head","body"]),Te.table&&(F(Te,["tbody"]),delete Pe.tbody),w&&w(t),dt=t)},mt=F({},["mi","mo","mn","ms","mtext"]),vt=F({},["foreignobject","desc","title","annotation-xml"]),gt=F({},["title","style","font","a","script"]),yt=F({},H);F(yt,W),F(yt,G);var bt=F({},$);F(bt,q);var wt=function(e){var t=S(e);t&&t.tagName||(t={namespaceURI:it,tagName:"template"});var n=j(e.tagName),r=j(t.tagName);return!!st[e.namespaceURI]&&(e.namespaceURI===rt?t.namespaceURI===at?"svg"===n:t.namespaceURI===nt?"svg"===n&&("annotation-xml"===r||mt[r]):Boolean(yt[n]):e.namespaceURI===nt?t.namespaceURI===at?"math"===n:t.namespaceURI===rt?"math"===n&&vt[r]:Boolean(bt[n]):e.namespaceURI===at?!(t.namespaceURI===rt&&!vt[r])&&!(t.namespaceURI===nt&&!mt[r])&&!bt[n]&&(gt[n]||!yt[n]):!("application/xhtml+xml"!==ve||!st[e.namespaceURI]))},xt=function(e){O(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.remove()}},St=function(e,t){try{O(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(r){O(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Oe[e])if(Ve||Ue)try{xt(t)}catch(r){}else try{t.setAttribute(e,"")}catch(r){}},_t=function(e){var t,n;if(Be)e="<remove></remove>"+e;else{var r=P(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===ve&&it===at&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");var i=k?k.createHTML(e):e;if(it===at)try{t=(new h).parseFromString(i,ve)}catch(s){}if(!t||!t.documentElement){t=z.createDocument(it,"template",null);try{t.documentElement.innerHTML=ot?E:i}catch(s){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(a.createTextNode(n),o.childNodes[0]||null),it===at?pe.call(t,ze?"html":"body")[0]:ze?t.documentElement:o},kt=function(e){return de.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},Et=function(e){return e instanceof p&&("string"!==typeof e.nodeName||"string"!==typeof e.textContent||"function"!==typeof e.removeChild||!(e.attributes instanceof f)||"function"!==typeof e.removeAttribute||"function"!==typeof e.setAttribute||"string"!==typeof e.namespaceURI||"function"!==typeof e.insertBefore||"function"!==typeof e.hasChildNodes)},Tt=function(t){return"object"===e(l)?t instanceof l:t&&"object"===e(t)&&"number"===typeof t.nodeType&&"string"===typeof t.nodeName},Ct=function(e,t,r){me[e]&&T(me[e],(function(e){e.call(n,t,r,dt)}))},Ot=function(e){var t;if(Ct("beforeSanitizeElements",e,null),Et(e))return xt(e),!0;var r=ge(e.nodeName);if(Ct("uponSanitizeElement",e,{tagName:r,allowedTags:Te}),e.hasChildNodes()&&!Tt(e.firstElementChild)&&(!Tt(e.content)||!Tt(e.content.firstElementChild))&&R(/<[/\w]/g,e.innerHTML)&&R(/<[/\w]/g,e.textContent))return xt(e),!0;if(!Te[r]||Pe[r]){if(!Pe[r]&&Nt(r)){if(Ne.tagNameCheck instanceof RegExp&&R(Ne.tagNameCheck,r))return!1;if(Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(r))return!1}if(qe&&!Xe[r]){var a=S(e)||e.parentNode,i=x(e)||e.childNodes;if(i&&a)for(var o=i.length-1;o>=0;--o)a.insertBefore(y(i[o],!0),b(e))}return xt(e),!0}return e instanceof u&&!wt(e)?(xt(e),!0):"noscript"!==r&&"noembed"!==r||!R(/<\/no(script|embed)/i,e.innerHTML)?(De&&3===e.nodeType&&(t=e.textContent,t=L(t,ye," "),t=L(t,be," "),t=L(t,we," "),e.textContent!==t&&(O(n.removed,{element:e.cloneNode()}),e.textContent=t)),Ct("afterSanitizeElements",e,null),!1):(xt(e),!0)},jt=function(e,t,n){if(We&&("id"===t||"name"===t)&&(n in a||n in ft))return!1;if(Ie&&!Le[t]&&R(xe,t));else if(Me&&R(Se,t));else if(!Oe[t]||Le[t]){if(!(Nt(e)&&(Ne.tagNameCheck instanceof RegExp&&R(Ne.tagNameCheck,e)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(e))&&(Ne.attributeNameCheck instanceof RegExp&&R(Ne.attributeNameCheck,t)||Ne.attributeNameCheck instanceof Function&&Ne.attributeNameCheck(t))||"is"===t&&Ne.allowCustomizedBuiltInElements&&(Ne.tagNameCheck instanceof RegExp&&R(Ne.tagNameCheck,n)||Ne.tagNameCheck instanceof Function&&Ne.tagNameCheck(n))))return!1}else if(et[t]);else if(R(Ee,L(n,ke,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==M(n,"data:")||!Je[e])if(Re&&!R(_e,L(n,ke,"")));else if(n)return!1;return!0},Nt=function(e){return e.indexOf("-")>0},Pt=function(t){var r,a,i,o;Ct("beforeSanitizeAttributes",t,null);var s=t.attributes;if(s){var l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Oe};for(o=s.length;o--;){var u=r=s[o],c=u.name,d=u.namespaceURI;if(a="value"===c?r.value:I(r.value),i=ge(c),l.attrName=i,l.attrValue=a,l.keepAttr=!0,l.forceKeepAttr=void 0,Ct("uponSanitizeAttribute",t,l),a=l.attrValue,!l.forceKeepAttr&&(St(c,t),l.keepAttr))if(Ae||!R(/\/>/i,a)){De&&(a=L(a,ye," "),a=L(a,be," "),a=L(a,we," "));var f=ge(t.nodeName);if(jt(f,i,a)){if(!Ge||"id"!==i&&"name"!==i||(St(c,t),a=$e+a),k&&"object"===e(v)&&"function"===typeof v.getAttributeType)if(d);else switch(v.getAttributeType(f,i)){case"TrustedHTML":a=k.createHTML(a);break;case"TrustedScriptURL":a=k.createScriptURL(a)}try{d?t.setAttributeNS(d,c,a):t.setAttribute(c,a),C(n.removed)}catch(p){}}}else St(c,t)}Ct("afterSanitizeAttributes",t,null)}},Lt=function e(t){var n,r=kt(t);for(Ct("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)Ct("uponSanitizeShadowNode",n,null),Ot(n)||(n.content instanceof o&&e(n.content),Pt(n));Ct("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){var t,a,i,s,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((ot=!e)&&(e="\x3c!--\x3e"),"string"!==typeof e&&!Tt(e)){if("function"!==typeof e.toString)throw A("toString is not a function");if("string"!==typeof(e=e.toString()))throw A("dirty is not a string, aborting")}if(!n.isSupported)return e;if(Fe||ht(u),n.removed=[],"string"===typeof e&&(Ke=!1),Ke){if(e.nodeName){var c=ge(e.nodeName);if(!Te[c]||Pe[c])throw A("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof l)1===(a=(t=_t("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?t=a:t.appendChild(a);else{if(!Ve&&!De&&!ze&&-1===e.indexOf("<"))return k&&He?k.createHTML(e):e;if(!(t=_t(e)))return Ve?null:He?E:""}t&&Be&&xt(t.firstChild);for(var d=kt(Ke?e:t);i=d.nextNode();)Ot(i)||(i.content instanceof o&&Lt(i.content),Pt(i));if(Ke)return e;if(Ve){if(Ue)for(s=fe.call(t.ownerDocument);t.firstChild;)s.appendChild(t.firstChild);else s=t;return(Oe.shadowroot||Oe.shadowrootmod)&&(s=he.call(r,s,!0)),s}var f=ze?t.outerHTML:t.innerHTML;return ze&&Te["!doctype"]&&t.ownerDocument&&t.ownerDocument.doctype&&t.ownerDocument.doctype.name&&R(se,t.ownerDocument.doctype.name)&&(f="<!DOCTYPE "+t.ownerDocument.doctype.name+">\n"+f),De&&(f=L(f,ye," "),f=L(f,be," "),f=L(f,we," ")),k&&He?k.createHTML(f):f},n.setConfig=function(e){ht(e),Fe=!0},n.clearConfig=function(){dt=null,Fe=!1},n.isValidAttribute=function(e,t,n){dt||ht({});var r=ge(e),a=ge(t);return jt(r,a,n)},n.addHook=function(e,t){"function"===typeof t&&(me[e]=me[e]||[],O(me[e],t))},n.removeHook=function(e){if(me[e])return C(me[e])},n.removeHooks=function(e){me[e]&&(me[e]=[])},n.removeAllHooks=function(){me={}},n}return ce()}()},110:function(e,t,n){"use strict";var r=n(309),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},o={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?o:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=o;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var o=c(n);d&&(o=o.concat(d(n)));for(var s=l(t),m=l(n),v=0;v<o.length;++v){var g=o[v];if(!i[g]&&(!r||!r[g])&&(!m||!m[g])&&(!s||!s[g])){var y=f(n,g);try{u(t,g,y)}catch(b){}}}}return t}},746:function(e,t){"use strict";var n="function"===typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,i=n?Symbol.for("react.fragment"):60107,o=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,y=n?Symbol.for("react.fundamental"):60117,b=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function x(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case i:case s:case o:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case v:case m:case l:return e;default:return t}}case a:return t}}}function S(e){return x(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=i,t.Lazy=v,t.Memo=m,t.Portal=a,t.Profiler=s,t.StrictMode=o,t.Suspense=p,t.isAsyncMode=function(e){return S(e)||x(e)===c},t.isConcurrentMode=S,t.isContextConsumer=function(e){return x(e)===u},t.isContextProvider=function(e){return x(e)===l},t.isElement=function(e){return"object"===typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return x(e)===f},t.isFragment=function(e){return x(e)===i},t.isLazy=function(e){return x(e)===v},t.isMemo=function(e){return x(e)===m},t.isPortal=function(e){return x(e)===a},t.isProfiler=function(e){return x(e)===s},t.isStrictMode=function(e){return x(e)===o},t.isSuspense=function(e){return x(e)===p},t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===i||e===d||e===s||e===o||e===p||e===h||"object"===typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===y||e.$$typeof===b||e.$$typeof===w||e.$$typeof===g)},t.typeOf=x},309:function(e,t,n){"use strict";e.exports=n(746)},463:function(e,t,n){"use strict";var r=n(791),a=n(296);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=new Set,s={};function l(e,t){u(e,t),u(e+"Capture",t)}function u(e,t){for(s[e]=t,e=0;e<t.length;e++)o.add(t[e])}var c=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=Object.prototype.hasOwnProperty,f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},h={};function m(e,t,n,r,a,i,o){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=o}var v={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){v[e]=new m(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];v[t]=new m(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){v[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){v[e]=new m(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){v[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){v[e]=new m(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){v[e]=new m(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){v[e]=new m(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){v[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)}));var g=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function b(e,t,n,r){var a=v.hasOwnProperty(t)?v[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(h,e)||!d.call(p,e)&&(f.test(e)?h[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(g,y);v[t]=new m(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(g,y);v[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(g,y);v[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)})),v.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){v[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.element"),S=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),T=Symbol.for("react.provider"),C=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),L=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var M=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var I=Symbol.iterator;function R(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=I&&e[I]||e["@@iterator"])?e:null}var A,D=Object.assign;function z(e){if(void 0===A)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);A=t&&t[1]||""}return"\n"+A+e}var F=!1;function B(e,t){if(!e||F)return"";F=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"===typeof u.stack){for(var a=u.stack.split("\n"),i=r.stack.split("\n"),o=a.length-1,s=i.length-1;1<=o&&0<=s&&a[o]!==i[s];)s--;for(;1<=o&&0<=s;o--,s--)if(a[o]!==i[s]){if(1!==o||1!==s)do{if(o--,0>--s||a[o]!==i[s]){var l="\n"+a[o].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=o&&0<=s);break}}}finally{F=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?z(e):""}function V(e){switch(e.tag){case 5:return z(e.type);case 16:return z("Lazy");case 13:return z("Suspense");case 19:return z("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case _:return"Fragment";case S:return"Portal";case E:return"Profiler";case k:return"StrictMode";case j:return"Suspense";case N:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case C:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case O:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case P:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function W(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function $(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var a=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function K(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var n=t.checked;return D({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=W(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Q(e,t){null!=(t=t.checked)&&b(e,"checked",t,!1)}function J(e,t){Q(e,t);var n=W(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,W(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Z(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+W(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return D({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(te(n)){if(1<n.length)throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:W(n)}}function ie(e,t){var n=W(t.value),r=W(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function oe(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ue,ce,de=(ce=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ue=ue||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ce(e,t)}))}:ce);function fe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},he=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ve(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(pe).forEach((function(e){he.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var ge=D({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(ge[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(i(62))}}function be(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Se=null,_e=null,ke=null;function Ee(e){if(e=ba(e)){if("function"!==typeof Se)throw Error(i(280));var t=e.stateNode;t&&(t=xa(t),Se(e.stateNode,e.type,t))}}function Te(e){_e?ke?ke.push(e):ke=[e]:_e=e}function Ce(){if(_e){var e=_e,t=ke;if(ke=_e=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Oe(e,t){return e(t)}function je(){}var Ne=!1;function Pe(e,t,n){if(Ne)return e(t,n);Ne=!0;try{return Oe(e,t,n)}finally{Ne=!1,(null!==_e||null!==ke)&&(je(),Ce())}}function Le(e,t){var n=e.stateNode;if(null===n)return null;var r=xa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(i(231,t,typeof n));return n}var Me=!1;if(c)try{var Ie={};Object.defineProperty(Ie,"passive",{get:function(){Me=!0}}),window.addEventListener("test",Ie,Ie),window.removeEventListener("test",Ie,Ie)}catch(ce){Me=!1}function Re(e,t,n,r,a,i,o,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Ae=!1,De=null,ze=!1,Fe=null,Be={onError:function(e){Ae=!0,De=e}};function Ve(e,t,n,r,a,i,o,s,l){Ae=!1,De=null,Re.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function We(e){if(Ue(e)!==e)throw Error(i(188))}function Ge(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return We(a),e;if(o===r)return We(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e))?$e(e):null}function $e(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=$e(e);if(null!==t)return t;e=e.sibling}return null}var qe=a.unstable_scheduleCallback,Ke=a.unstable_cancelCallback,Ye=a.unstable_shouldYield,Xe=a.unstable_requestPaint,Qe=a.unstable_now,Je=a.unstable_getCurrentPriorityLevel,Ze=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,it=null;var ot=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ut=64,ct=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ft(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,i=e.pingedLanes,o=268435455&n;if(0!==o){var s=o&~a;0!==s?r=dt(s):0!==(i&=o)&&(r=dt(i))}else 0!==(o=n&~a)?r=dt(o):0!==i&&(r=dt(i));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(i=t&-t)||16===a&&0!==(4194240&i)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-ot(t)),r|=e[n],t&=~a;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ht(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ut;return 0===(4194240&(ut<<=1))&&(ut=64),e}function vt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function gt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-ot(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ot(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var bt=0;function wt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var xt,St,_t,kt,Et,Tt=!1,Ct=[],Ot=null,jt=null,Nt=null,Pt=new Map,Lt=new Map,Mt=[],It="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":Ot=null;break;case"dragenter":case"dragleave":jt=null;break;case"mouseover":case"mouseout":Nt=null;break;case"pointerover":case"pointerout":Pt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Lt.delete(t.pointerId)}}function At(e,t,n,r,a,i){return null===e||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[a]},null!==t&&(null!==(t=ba(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Dt(e){var t=ya(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,(function(){_t(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function zt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Yt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ba(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function Ft(e,t,n){zt(e)&&n.delete(t)}function Bt(){Tt=!1,null!==Ot&&zt(Ot)&&(Ot=null),null!==jt&&zt(jt)&&(jt=null),null!==Nt&&zt(Nt)&&(Nt=null),Pt.forEach(Ft),Lt.forEach(Ft)}function Vt(e,t){e.blockedOn===t&&(e.blockedOn=null,Tt||(Tt=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return Vt(t,e)}if(0<Ct.length){Vt(Ct[0],e);for(var n=1;n<Ct.length;n++){var r=Ct[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ot&&Vt(Ot,e),null!==jt&&Vt(jt,e),null!==Nt&&Vt(Nt,e),Pt.forEach(t),Lt.forEach(t),n=0;n<Mt.length;n++)(r=Mt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Mt.length&&null===(n=Mt[0]).blockedOn;)Dt(n),null===n.blockedOn&&Mt.shift()}var Ht=w.ReactCurrentBatchConfig,Wt=!0;function Gt(e,t,n,r){var a=bt,i=Ht.transition;Ht.transition=null;try{bt=1,qt(e,t,n,r)}finally{bt=a,Ht.transition=i}}function $t(e,t,n,r){var a=bt,i=Ht.transition;Ht.transition=null;try{bt=4,qt(e,t,n,r)}finally{bt=a,Ht.transition=i}}function qt(e,t,n,r){if(Wt){var a=Yt(e,t,n,r);if(null===a)Wr(e,t,r,Kt,n),Rt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return Ot=At(Ot,e,t,n,r,a),!0;case"dragenter":return jt=At(jt,e,t,n,r,a),!0;case"mouseover":return Nt=At(Nt,e,t,n,r,a),!0;case"pointerover":var i=a.pointerId;return Pt.set(i,At(Pt.get(i)||null,e,t,n,r,a)),!0;case"gotpointercapture":return i=a.pointerId,Lt.set(i,At(Lt.get(i)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<It.indexOf(e)){for(;null!==a;){var i=ba(a);if(null!==i&&xt(i),null===(i=Yt(e,t,n,r))&&Wr(e,t,r,Kt,n),i===a)break;a=i}null!==a&&r.stopPropagation()}else Wr(e,t,r,null,n)}}var Kt=null;function Yt(e,t,n,r){if(Kt=null,null!==(e=ya(e=xe(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Je()){case Ze:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Qt=null,Jt=null,Zt=null;function en(){if(Zt)return Zt;var e,t,n=Jt,r=n.length,a="value"in Qt?Qt.value:Qt.textContent,i=a.length;for(e=0;e<r&&n[e]===a[e];e++);var o=r-e;for(t=1;t<=o&&n[r-t]===a[i-t];t++);return Zt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,i){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=i,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(a):a[o]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,ln,un={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},cn=an(un),dn=D({},un,{view:0,detail:0}),fn=an(dn),pn=D({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(on=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=on=0,ln=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),hn=an(pn),mn=an(D({},pn,{dataTransfer:0})),vn=an(D({},dn,{relatedTarget:0})),gn=an(D({},un,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=D({},un,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),bn=an(yn),wn=an(D({},un,{data:0})),xn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function kn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function En(){return kn}var Tn=D({},dn,{key:function(e){if(e.key){var t=xn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Cn=an(Tn),On=an(D({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),jn=an(D({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Nn=an(D({},un,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pn=D({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ln=an(Pn),Mn=[9,13,27,32],In=c&&"CompositionEvent"in window,Rn=null;c&&"documentMode"in document&&(Rn=document.documentMode);var An=c&&"TextEvent"in window&&!Rn,Dn=c&&(!In||Rn&&8<Rn&&11>=Rn),zn=String.fromCharCode(32),Fn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Mn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vn(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Gn(e,t,n,r){Te(r),0<(t=$r(t,"onChange")).length&&(n=new cn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var $n=null,qn=null;function Kn(e){zr(e,0)}function Yn(e){if(q(wa(e)))return e}function Xn(e,t){if("change"===e)return t}var Qn=!1;if(c){var Jn;if(c){var Zn="oninput"in document;if(!Zn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Zn="function"===typeof er.oninput}Jn=Zn}else Jn=!1;Qn=Jn&&(!document.documentMode||9<document.documentMode)}function tr(){$n&&($n.detachEvent("onpropertychange",nr),qn=$n=null)}function nr(e){if("value"===e.propertyName&&Yn(qn)){var t=[];Gn(t,qn,e,xe(e)),Pe(Kn,t)}}function rr(e,t,n){"focusin"===e?(tr(),qn=n,($n=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Yn(qn)}function ir(e,t){if("click"===e)return Yn(t)}function or(e,t){if("input"===e||"change"===e)return Yn(t)}var sr="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function lr(e,t){if(sr(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!sr(e[a],t[a]))return!1}return!0}function ur(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function cr(e,t){var n,r=ur(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=ur(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function fr(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function hr(e){var t=fr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,i=Math.min(r.start,a);r=void 0===r.end?i:Math.min(r.end,a),!e.extend&&i>r&&(a=r,r=i,i=a),a=cr(n,i);var o=cr(n,r);a&&o&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=c&&"documentMode"in document&&11>=document.documentMode,vr=null,gr=null,yr=null,br=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;br||null==vr||vr!==K(r)||("selectionStart"in(r=vr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=$r(gr,"onSelect")).length&&(t=new cn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}function xr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:xr("Animation","AnimationEnd"),animationiteration:xr("Animation","AnimationIteration"),animationstart:xr("Animation","AnimationStart"),transitionend:xr("Transition","TransitionEnd")},_r={},kr={};function Er(e){if(_r[e])return _r[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in kr)return _r[e]=n[t];return e}c&&(kr=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Tr=Er("animationend"),Cr=Er("animationiteration"),Or=Er("animationstart"),jr=Er("transitionend"),Nr=new Map,Pr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Lr(e,t){Nr.set(e,t),l(t,[e])}for(var Mr=0;Mr<Pr.length;Mr++){var Ir=Pr[Mr];Lr(Ir.toLowerCase(),"on"+(Ir[0].toUpperCase()+Ir.slice(1)))}Lr(Tr,"onAnimationEnd"),Lr(Cr,"onAnimationIteration"),Lr(Or,"onAnimationStart"),Lr("dblclick","onDoubleClick"),Lr("focusin","onFocus"),Lr("focusout","onBlur"),Lr(jr,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ar=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Dr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,u){if(Ve.apply(this,arguments),Ae){if(!Ae)throw Error(i(198));var c=De;Ae=!1,De=null,ze||(ze=!0,Fe=c)}}(r,t,void 0,e),e.currentTarget=null}function zr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==i&&a.isPropagationStopped())break e;Dr(a,s,u),i=l}else for(o=0;o<r.length;o++){if(l=(s=r[o]).instance,u=s.currentTarget,s=s.listener,l!==i&&a.isPropagationStopped())break e;Dr(a,s,u),i=l}}}if(ze)throw e=Fe,ze=!1,Fe=null,e}function Fr(e,t){var n=t[ma];void 0===n&&(n=t[ma]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var Vr="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[Vr]){e[Vr]=!0,o.forEach((function(t){"selectionchange"!==t&&(Ar.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Vr]||(t[Vr]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Xt(t)){case 1:var a=Gt;break;case 4:a=$t;break;default:a=qt}n=a.bind(null,t,n,e),a=void 0,!Me||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Wr(e,t,n,r,a){var i=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var o=r.tag;if(3===o||4===o){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===o)for(o=r.return;null!==o;){var l=o.tag;if((3===l||4===l)&&((l=o.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;o=o.return}for(;null!==s;){if(null===(o=ya(s)))return;if(5===(l=o.tag)||6===l){r=i=o;continue e}s=s.parentNode}}r=r.return}Pe((function(){var r=i,a=xe(n),o=[];e:{var s=Nr.get(e);if(void 0!==s){var l=cn,u=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=Cn;break;case"focusin":u="focus",l=vn;break;case"focusout":u="blur",l=vn;break;case"beforeblur":case"afterblur":l=vn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=hn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=jn;break;case Tr:case Cr:case Or:l=gn;break;case jr:l=Nn;break;case"scroll":l=fn;break;case"wheel":l=Ln;break;case"copy":case"cut":case"paste":l=bn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=On}var c=0!==(4&t),d=!c&&"scroll"===e,f=c?null!==s?s+"Capture":null:s;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&(null!=(m=Le(h,f))&&c.push(Gr(h,m,p)))),d)break;h=h.return}0<c.length&&(s=new l(s,u,null,n,a),o.push({event:s,listeners:c}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(u=n.relatedTarget||n.fromElement)||!ya(u)&&!u[ha])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(u=(u=n.relatedTarget||n.toElement)?ya(u):null)&&(u!==(d=Ue(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(l=null,u=r),l!==u)){if(c=hn,m="onMouseLeave",f="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=On,m="onPointerLeave",f="onPointerEnter",h="pointer"),d=null==l?s:wa(l),p=null==u?s:wa(u),(s=new c(m,h+"leave",l,n,a)).target=d,s.relatedTarget=p,m=null,ya(a)===r&&((c=new c(f,h+"enter",u,n,a)).target=p,c.relatedTarget=d,m=c),d=m,l&&u)e:{for(f=u,h=0,p=c=l;p;p=qr(p))h++;for(p=0,m=f;m;m=qr(m))p++;for(;0<h-p;)c=qr(c),h--;for(;0<p-h;)f=qr(f),p--;for(;h--;){if(c===f||null!==f&&c===f.alternate)break e;c=qr(c),f=qr(f)}c=null}else c=null;null!==l&&Kr(o,s,l,c,!1),null!==u&&null!==d&&Kr(o,d,u,c,!0)}if("select"===(l=(s=r?wa(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var v=Xn;else if(Wn(s))if(Qn)v=or;else{v=ar;var g=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(v=ir);switch(v&&(v=v(e,r))?Gn(o,v,n,a):(g&&g(e,s,r),"focusout"===e&&(g=s._wrapperState)&&g.controlled&&"number"===s.type&&ee(s,"number",s.value)),g=r?wa(r):window,e){case"focusin":(Wn(g)||"true"===g.contentEditable)&&(vr=g,gr=r,yr=null);break;case"focusout":yr=gr=vr=null;break;case"mousedown":br=!0;break;case"contextmenu":case"mouseup":case"dragend":br=!1,wr(o,n,a);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":wr(o,n,a)}var y;if(In)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Un?Bn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Dn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==b?"onCompositionEnd"===b&&Un&&(y=en()):(Jt="value"in(Qt=a)?Qt.value:Qt.textContent,Un=!0)),0<(g=$r(r,b)).length&&(b=new wn(b,e,null,n,a),o.push({event:b,listeners:g}),y?b.data=y:null!==(y=Vn(n))&&(b.data=y))),(y=An?function(e,t){switch(e){case"compositionend":return Vn(t);case"keypress":return 32!==t.which?null:(Fn=!0,zn);case"textInput":return(e=t.data)===zn&&Fn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!In&&Bn(e,t)?(e=en(),Zt=Jt=Qt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Dn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=$r(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),o.push({event:a,listeners:r}),a.data=y))}zr(o,t)}))}function Gr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function $r(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,i=a.stateNode;5===a.tag&&null!==i&&(a=i,null!=(i=Le(e,n))&&r.unshift(Gr(e,i,a)),null!=(i=Le(e,t))&&r.push(Gr(e,i,a))),e=e.return}return r}function qr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Kr(e,t,n,r,a){for(var i=t._reactName,o=[];null!==n&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==u&&(s=u,a?null!=(l=Le(n,i))&&o.unshift(Gr(n,l,s)):a||null!=(l=Le(n,i))&&o.push(Gr(n,l,s))),n=n.return}0!==o.length&&e.push({event:t,listeners:o})}var Yr=/\r\n?/g,Xr=/\u0000|\uFFFD/g;function Qr(e){return("string"===typeof e?e:""+e).replace(Yr,"\n").replace(Xr,"")}function Jr(e,t,n){if(t=Qr(t),Qr(e)!==t&&n)throw Error(i(425))}function Zr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"===typeof setTimeout?setTimeout:void 0,aa="function"===typeof clearTimeout?clearTimeout:void 0,ia="function"===typeof Promise?Promise:void 0,oa="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof ia?function(e){return ia.resolve(null).then(e).catch(sa)}:ra;function sa(e){setTimeout((function(){throw e}))}function la(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Ut(t)}function ua(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ca(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),fa="__reactFiber$"+da,pa="__reactProps$"+da,ha="__reactContainer$"+da,ma="__reactEvents$"+da,va="__reactListeners$"+da,ga="__reactHandles$"+da;function ya(e){var t=e[fa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ha]||n[fa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ca(e);null!==e;){if(n=e[fa])return n;e=ca(e)}return t}n=(e=n).parentNode}return null}function ba(e){return!(e=e[fa]||e[ha])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function xa(e){return e[pa]||null}var Sa=[],_a=-1;function ka(e){return{current:e}}function Ea(e){0>_a||(e.current=Sa[_a],Sa[_a]=null,_a--)}function Ta(e,t){_a++,Sa[_a]=e.current,e.current=t}var Ca={},Oa=ka(Ca),ja=ka(!1),Na=Ca;function Pa(e,t){var n=e.type.contextTypes;if(!n)return Ca;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,i={};for(a in n)i[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function La(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Ma(){Ea(ja),Ea(Oa)}function Ia(e,t,n){if(Oa.current!==Ca)throw Error(i(168));Ta(Oa,t),Ta(ja,n)}function Ra(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(i(108,H(e)||"Unknown",a));return D({},n,r)}function Aa(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ca,Na=Oa.current,Ta(Oa,e),Ta(ja,ja.current),!0}function Da(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=Ra(e,t,Na),r.__reactInternalMemoizedMergedChildContext=e,Ea(ja),Ea(Oa),Ta(Oa,e)):Ea(ja),Ta(ja,n)}var za=null,Fa=!1,Ba=!1;function Va(e){null===za?za=[e]:za.push(e)}function Ua(){if(!Ba&&null!==za){Ba=!0;var e=0,t=bt;try{var n=za;for(bt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}za=null,Fa=!1}catch(a){throw null!==za&&(za=za.slice(e+1)),qe(Ze,Ua),a}finally{bt=t,Ba=!1}}return null}var Ha=[],Wa=0,Ga=null,$a=0,qa=[],Ka=0,Ya=null,Xa=1,Qa="";function Ja(e,t){Ha[Wa++]=$a,Ha[Wa++]=Ga,Ga=e,$a=t}function Za(e,t,n){qa[Ka++]=Xa,qa[Ka++]=Qa,qa[Ka++]=Ya,Ya=e;var r=Xa;e=Qa;var a=32-ot(r)-1;r&=~(1<<a),n+=1;var i=32-ot(t)+a;if(30<i){var o=a-a%5;i=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Xa=1<<32-ot(t)+a|n<<a|r,Qa=i+e}else Xa=1<<i|n<<a|r,Qa=e}function ei(e){null!==e.return&&(Ja(e,1),Za(e,1,0))}function ti(e){for(;e===Ga;)Ga=Ha[--Wa],Ha[Wa]=null,$a=Ha[--Wa],Ha[Wa]=null;for(;e===Ya;)Ya=qa[--Ka],qa[Ka]=null,Qa=qa[--Ka],qa[Ka]=null,Xa=qa[--Ka],qa[Ka]=null}var ni=null,ri=null,ai=!1,ii=null;function oi(e,t){var n=Lu(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function si(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ni=e,ri=ua(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ni=e,ri=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ya?{id:Xa,overflow:Qa}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Lu(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ni=e,ri=null,!0);default:return!1}}function li(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ui(e){if(ai){var t=ri;if(t){var n=t;if(!si(e,t)){if(li(e))throw Error(i(418));t=ua(n.nextSibling);var r=ni;t&&si(e,t)?oi(r,n):(e.flags=-4097&e.flags|2,ai=!1,ni=e)}}else{if(li(e))throw Error(i(418));e.flags=-4097&e.flags|2,ai=!1,ni=e}}}function ci(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ni=e}function di(e){if(e!==ni)return!1;if(!ai)return ci(e),ai=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ri)){if(li(e))throw fi(),Error(i(418));for(;t;)oi(e,t),t=ua(t.nextSibling)}if(ci(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ri=ua(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ri=null}}else ri=ni?ua(e.stateNode.nextSibling):null;return!0}function fi(){for(var e=ri;e;)e=ua(e.nextSibling)}function pi(){ri=ni=null,ai=!1}function hi(e){null===ii?ii=[e]:ii.push(e)}var mi=w.ReactCurrentBatchConfig;function vi(e,t){if(e&&e.defaultProps){for(var n in t=D({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var gi=ka(null),yi=null,bi=null,wi=null;function xi(){wi=bi=yi=null}function Si(e){var t=gi.current;Ea(gi),e._currentValue=t}function _i(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ki(e,t){yi=e,wi=bi=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ws=!0),e.firstContext=null)}function Ei(e){var t=e._currentValue;if(wi!==e)if(e={context:e,memoizedValue:t,next:null},null===bi){if(null===yi)throw Error(i(308));bi=e,yi.dependencies={lanes:0,firstContext:e}}else bi=bi.next=e;return t}var Ti=null;function Ci(e){null===Ti?Ti=[e]:Ti.push(e)}function Oi(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Ci(t)):(n.next=a.next,a.next=n),t.interleaved=n,ji(e,r)}function ji(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ni=!1;function Pi(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Li(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Mi(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ii(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&jl)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,ji(e,n)}return null===(a=r.interleaved)?(t.next=t,Ci(r)):(t.next=a.next,a.next=t),r.interleaved=t,ji(e,n)}function Ri(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ai(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,i=null;if(null!==(n=n.firstBaseUpdate)){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===i?a=i=o:i=i.next=o,n=n.next}while(null!==n);null===i?a=i=t:i=i.next=t}else a=i=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:i,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Di(e,t,n,r){var a=e.updateQueue;Ni=!1;var i=a.firstBaseUpdate,o=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var l=s,u=l.next;l.next=null,null===o?i=u:o.next=u,o=l;var c=e.alternate;null!==c&&((s=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===s?c.firstBaseUpdate=u:s.next=u,c.lastBaseUpdate=l))}if(null!==i){var d=a.baseState;for(o=0,c=u=l=null,s=i;;){var f=s.lane,p=s.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,m=s;switch(f=t,p=n,m.tag){case 1:if("function"===typeof(h=m.payload)){d=h.call(p,d,f);break e}d=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null===(f="function"===typeof(h=m.payload)?h.call(p,d,f):h)||void 0===f)break e;d=D({},d,f);break e;case 2:Ni=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(f=a.effects)?a.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===c?(u=c=p,l=d):c=c.next=p,o|=f;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(f=s).next,f.next=null,a.lastBaseUpdate=f,a.shared.pending=null}}if(null===c&&(l=d),a.baseState=l,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{o|=a.lane,a=a.next}while(a!==t)}else null===i&&(a.shared.lanes=0);Dl|=o,e.lanes=o,e.memoizedState=d}}function zi(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!==typeof a)throw Error(i(191,a));a.call(r)}}}var Fi=(new r.Component).refs;function Bi(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:D({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Vi={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),i=Mi(r,a);i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Ii(e,i,a))&&(ru(t,e,a,r),Ri(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tu(),a=nu(e),i=Mi(r,a);i.tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),null!==(t=Ii(e,i,a))&&(ru(t,e,a,r),Ri(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tu(),r=nu(e),a=Mi(n,r);a.tag=2,void 0!==t&&null!==t&&(a.callback=t),null!==(t=Ii(e,a,r))&&(ru(t,e,r,n),Ri(t,e,r))}};function Ui(e,t,n,r,a,i,o){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,i,o):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(a,i))}function Hi(e,t,n){var r=!1,a=Ca,i=t.contextType;return"object"===typeof i&&null!==i?i=Ei(i):(a=La(t)?Na:Oa.current,i=(r=null!==(r=t.contextTypes)&&void 0!==r)?Pa(e,a):Ca),t=new t(n,i),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Vi,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t}function Wi(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Vi.enqueueReplaceState(t,t.state,null)}function Gi(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Fi,Pi(e);var i=t.contextType;"object"===typeof i&&null!==i?a.context=Ei(i):(i=La(t)?Na:Oa.current,a.context=Pa(e,i)),a.state=e.memoizedState,"function"===typeof(i=t.getDerivedStateFromProps)&&(Bi(e,t,i,n),a.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof a.getSnapshotBeforeUpdate||"function"!==typeof a.UNSAFE_componentWillMount&&"function"!==typeof a.componentWillMount||(t=a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&Vi.enqueueReplaceState(a,a.state,null),Di(e,n,a,r),a.state=e.memoizedState),"function"===typeof a.componentDidMount&&(e.flags|=4194308)}function $i(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=r,o=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===o?t.ref:(t=function(e){var t=a.refs;t===Fi&&(t=a.refs={}),null===e?delete t[o]:t[o]=e},t._stringRef=o,t)}if("string"!==typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function qi(e,t){throw e=Object.prototype.toString.call(t),Error(i(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ki(e){return(0,e._init)(e._payload)}function Yi(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Iu(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=zu(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){var i=n.type;return i===_?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===i||"object"===typeof i&&null!==i&&i.$$typeof===L&&Ki(i)===t.type)?((r=a(t,n.props)).ref=$i(e,t,n),r.return=e,r):((r=Ru(n.type,n.key,n.props,null,e.mode,r)).ref=$i(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fu(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,i){return null===t||7!==t.tag?((t=Au(n,e.mode,r,i)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=zu(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case x:return(n=Ru(t.type,t.key,t.props,null,e.mode,n)).ref=$i(e,null,t),n.return=e,n;case S:return(t=Fu(t,e.mode,n)).return=e,t;case L:return f(e,(0,t._init)(t._payload),n)}if(te(t)||R(t))return(t=Au(t,e.mode,n,null)).return=e,t;qi(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==a?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case x:return n.key===a?u(e,t,n,r):null;case S:return n.key===a?c(e,t,n,r):null;case L:return p(e,t,(a=n._init)(n._payload),r)}if(te(n)||R(n))return null!==a?null:d(e,t,n,r,null);qi(e,n)}return null}function h(e,t,n,r,a){if("string"===typeof r&&""!==r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"===typeof r&&null!==r){switch(r.$$typeof){case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case L:return h(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||R(r))return d(t,e=e.get(n)||null,r,a,null);qi(t,r)}return null}function m(a,i,s,l){for(var u=null,c=null,d=i,m=i=0,v=null;null!==d&&m<s.length;m++){d.index>m?(v=d,d=null):v=d.sibling;var g=p(a,d,s[m],l);if(null===g){null===d&&(d=v);break}e&&d&&null===g.alternate&&t(a,d),i=o(g,i,m),null===c?u=g:c.sibling=g,c=g,d=v}if(m===s.length)return n(a,d),ai&&Ja(a,m),u;if(null===d){for(;m<s.length;m++)null!==(d=f(a,s[m],l))&&(i=o(d,i,m),null===c?u=d:c.sibling=d,c=d);return ai&&Ja(a,m),u}for(d=r(a,d);m<s.length;m++)null!==(v=h(d,a,m,s[m],l))&&(e&&null!==v.alternate&&d.delete(null===v.key?m:v.key),i=o(v,i,m),null===c?u=v:c.sibling=v,c=v);return e&&d.forEach((function(e){return t(a,e)})),ai&&Ja(a,m),u}function v(a,s,l,u){var c=R(l);if("function"!==typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var d=c=null,m=s,v=s=0,g=null,y=l.next();null!==m&&!y.done;v++,y=l.next()){m.index>v?(g=m,m=null):g=m.sibling;var b=p(a,m,y.value,u);if(null===b){null===m&&(m=g);break}e&&m&&null===b.alternate&&t(a,m),s=o(b,s,v),null===d?c=b:d.sibling=b,d=b,m=g}if(y.done)return n(a,m),ai&&Ja(a,v),c;if(null===m){for(;!y.done;v++,y=l.next())null!==(y=f(a,y.value,u))&&(s=o(y,s,v),null===d?c=y:d.sibling=y,d=y);return ai&&Ja(a,v),c}for(m=r(a,m);!y.done;v++,y=l.next())null!==(y=h(m,a,v,y.value,u))&&(e&&null!==y.alternate&&m.delete(null===y.key?v:y.key),s=o(y,s,v),null===d?c=y:d.sibling=y,d=y);return e&&m.forEach((function(e){return t(a,e)})),ai&&Ja(a,v),c}return function e(r,i,o,l){if("object"===typeof o&&null!==o&&o.type===_&&null===o.key&&(o=o.props.children),"object"===typeof o&&null!==o){switch(o.$$typeof){case x:e:{for(var u=o.key,c=i;null!==c;){if(c.key===u){if((u=o.type)===_){if(7===c.tag){n(r,c.sibling),(i=a(c,o.props.children)).return=r,r=i;break e}}else if(c.elementType===u||"object"===typeof u&&null!==u&&u.$$typeof===L&&Ki(u)===c.type){n(r,c.sibling),(i=a(c,o.props)).ref=$i(r,c,o),i.return=r,r=i;break e}n(r,c);break}t(r,c),c=c.sibling}o.type===_?((i=Au(o.props.children,r.mode,l,o.key)).return=r,r=i):((l=Ru(o.type,o.key,o.props,null,r.mode,l)).ref=$i(r,i,o),l.return=r,r=l)}return s(r);case S:e:{for(c=o.key;null!==i;){if(i.key===c){if(4===i.tag&&i.stateNode.containerInfo===o.containerInfo&&i.stateNode.implementation===o.implementation){n(r,i.sibling),(i=a(i,o.children||[])).return=r,r=i;break e}n(r,i);break}t(r,i),i=i.sibling}(i=Fu(o,r.mode,l)).return=r,r=i}return s(r);case L:return e(r,i,(c=o._init)(o._payload),l)}if(te(o))return m(r,i,o,l);if(R(o))return v(r,i,o,l);qi(r,o)}return"string"===typeof o&&""!==o||"number"===typeof o?(o=""+o,null!==i&&6===i.tag?(n(r,i.sibling),(i=a(i,o)).return=r,r=i):(n(r,i),(i=zu(o,r.mode,l)).return=r,r=i),s(r)):n(r,i)}}var Xi=Yi(!0),Qi=Yi(!1),Ji={},Zi=ka(Ji),eo=ka(Ji),to=ka(Ji);function no(e){if(e===Ji)throw Error(i(174));return e}function ro(e,t){switch(Ta(to,t),Ta(eo,e),Ta(Zi,Ji),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ea(Zi),Ta(Zi,t)}function ao(){Ea(Zi),Ea(eo),Ea(to)}function io(e){no(to.current);var t=no(Zi.current),n=le(t,e.type);t!==n&&(Ta(eo,e),Ta(Zi,n))}function oo(e){eo.current===e&&(Ea(Zi),Ea(eo))}var so=ka(0);function lo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var uo=[];function co(){for(var e=0;e<uo.length;e++)uo[e]._workInProgressVersionPrimary=null;uo.length=0}var fo=w.ReactCurrentDispatcher,po=w.ReactCurrentBatchConfig,ho=0,mo=null,vo=null,go=null,yo=!1,bo=!1,wo=0,xo=0;function So(){throw Error(i(321))}function _o(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function ko(e,t,n,r,a,o){if(ho=o,mo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,fo.current=null===e||null===e.memoizedState?ss:ls,e=n(r,a),bo){o=0;do{if(bo=!1,wo=0,25<=o)throw Error(i(301));o+=1,go=vo=null,t.updateQueue=null,fo.current=us,e=n(r,a)}while(bo)}if(fo.current=os,t=null!==vo&&null!==vo.next,ho=0,go=vo=mo=null,yo=!1,t)throw Error(i(300));return e}function Eo(){var e=0!==wo;return wo=0,e}function To(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===go?mo.memoizedState=go=e:go=go.next=e,go}function Co(){if(null===vo){var e=mo.alternate;e=null!==e?e.memoizedState:null}else e=vo.next;var t=null===go?mo.memoizedState:go.next;if(null!==t)go=t,vo=e;else{if(null===e)throw Error(i(310));e={memoizedState:(vo=e).memoizedState,baseState:vo.baseState,baseQueue:vo.baseQueue,queue:vo.queue,next:null},null===go?mo.memoizedState=go=e:go=go.next=e}return go}function Oo(e,t){return"function"===typeof t?t(e):t}function jo(e){var t=Co(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=vo,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){o=a.next,r=r.baseState;var l=s=null,u=null,c=o;do{var d=c.lane;if((ho&d)===d)null!==u&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),r=c.hasEagerState?c.eagerState:e(r,c.action);else{var f={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};null===u?(l=u=f,s=r):u=u.next=f,mo.lanes|=d,Dl|=d}c=c.next}while(null!==c&&c!==o);null===u?s=r:u.next=l,sr(r,t.memoizedState)||(ws=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=u,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{o=a.lane,mo.lanes|=o,Dl|=o,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function No(e){var t=Co(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);sr(o,t.memoizedState)||(ws=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Po(){}function Lo(e,t){var n=mo,r=Co(),a=t(),o=!sr(r.memoizedState,a);if(o&&(r.memoizedState=a,ws=!0),r=r.queue,Wo(Ro.bind(null,n,r,e),[e]),r.getSnapshot!==t||o||null!==go&&1&go.memoizedState.tag){if(n.flags|=2048,Fo(9,Io.bind(null,n,r,a,t),void 0,null),null===Nl)throw Error(i(349));0!==(30&ho)||Mo(n,t,a)}return a}function Mo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=mo.updateQueue)?(t={lastEffect:null,stores:null},mo.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Io(e,t,n,r){t.value=n,t.getSnapshot=r,Ao(t)&&Do(e)}function Ro(e,t,n){return n((function(){Ao(t)&&Do(e)}))}function Ao(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Do(e){var t=ji(e,1);null!==t&&ru(t,e,1,-1)}function zo(e){var t=To();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:e},t.queue=e,e=e.dispatch=ns.bind(null,mo,e),[t.memoizedState,e]}function Fo(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=mo.updateQueue)?(t={lastEffect:null,stores:null},mo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bo(){return Co().memoizedState}function Vo(e,t,n,r){var a=To();mo.flags|=e,a.memoizedState=Fo(1|t,n,void 0,void 0===r?null:r)}function Uo(e,t,n,r){var a=Co();r=void 0===r?null:r;var i=void 0;if(null!==vo){var o=vo.memoizedState;if(i=o.destroy,null!==r&&_o(r,o.deps))return void(a.memoizedState=Fo(t,n,i,r))}mo.flags|=e,a.memoizedState=Fo(1|t,n,i,r)}function Ho(e,t){return Vo(8390656,8,e,t)}function Wo(e,t){return Uo(2048,8,e,t)}function Go(e,t){return Uo(4,2,e,t)}function $o(e,t){return Uo(4,4,e,t)}function qo(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ko(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Uo(4,4,qo.bind(null,t,e),n)}function Yo(){}function Xo(e,t){var n=Co();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&_o(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Qo(e,t){var n=Co();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&_o(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Jo(e,t,n){return 0===(21&ho)?(e.baseState&&(e.baseState=!1,ws=!0),e.memoizedState=n):(sr(n,t)||(n=mt(),mo.lanes|=n,Dl|=n,e.baseState=!0),t)}function Zo(e,t){var n=bt;bt=0!==n&&4>n?n:4,e(!0);var r=po.transition;po.transition={};try{e(!1),t()}finally{bt=n,po.transition=r}}function es(){return Co().memoizedState}function ts(e,t,n){var r=nu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rs(e))as(t,n);else if(null!==(n=Oi(e,t,n,r))){ru(n,e,r,tu()),is(n,t,r)}}function ns(e,t,n){var r=nu(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rs(e))as(t,a);else{var i=e.alternate;if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var o=t.lastRenderedState,s=i(o,n);if(a.hasEagerState=!0,a.eagerState=s,sr(s,o)){var l=t.interleaved;return null===l?(a.next=a,Ci(t)):(a.next=l.next,l.next=a),void(t.interleaved=a)}}catch(u){}null!==(n=Oi(e,t,a,r))&&(ru(n,e,r,a=tu()),is(n,t,r))}}function rs(e){var t=e.alternate;return e===mo||null!==t&&t===mo}function as(e,t){bo=yo=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function is(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var os={readContext:Ei,useCallback:So,useContext:So,useEffect:So,useImperativeHandle:So,useInsertionEffect:So,useLayoutEffect:So,useMemo:So,useReducer:So,useRef:So,useState:So,useDebugValue:So,useDeferredValue:So,useTransition:So,useMutableSource:So,useSyncExternalStore:So,useId:So,unstable_isNewReconciler:!1},ss={readContext:Ei,useCallback:function(e,t){return To().memoizedState=[e,void 0===t?null:t],e},useContext:Ei,useEffect:Ho,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Vo(4194308,4,qo.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Vo(4194308,4,e,t)},useInsertionEffect:function(e,t){return Vo(4,2,e,t)},useMemo:function(e,t){var n=To();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=To();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ts.bind(null,mo,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},To().memoizedState=e},useState:zo,useDebugValue:Yo,useDeferredValue:function(e){return To().memoizedState=e},useTransition:function(){var e=zo(!1),t=e[0];return e=Zo.bind(null,e[1]),To().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=mo,a=To();if(ai){if(void 0===n)throw Error(i(407));n=n()}else{if(n=t(),null===Nl)throw Error(i(349));0!==(30&ho)||Mo(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Ho(Ro.bind(null,r,o,e),[e]),r.flags|=2048,Fo(9,Io.bind(null,r,o,n,t),void 0,null),n},useId:function(){var e=To(),t=Nl.identifierPrefix;if(ai){var n=Qa;t=":"+t+"R"+(n=(Xa&~(1<<32-ot(Xa)-1)).toString(32)+n),0<(n=wo++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=xo++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ls={readContext:Ei,useCallback:Xo,useContext:Ei,useEffect:Wo,useImperativeHandle:Ko,useInsertionEffect:Go,useLayoutEffect:$o,useMemo:Qo,useReducer:jo,useRef:Bo,useState:function(){return jo(Oo)},useDebugValue:Yo,useDeferredValue:function(e){return Jo(Co(),vo.memoizedState,e)},useTransition:function(){return[jo(Oo)[0],Co().memoizedState]},useMutableSource:Po,useSyncExternalStore:Lo,useId:es,unstable_isNewReconciler:!1},us={readContext:Ei,useCallback:Xo,useContext:Ei,useEffect:Wo,useImperativeHandle:Ko,useInsertionEffect:Go,useLayoutEffect:$o,useMemo:Qo,useReducer:No,useRef:Bo,useState:function(){return No(Oo)},useDebugValue:Yo,useDeferredValue:function(e){var t=Co();return null===vo?t.memoizedState=e:Jo(t,vo.memoizedState,e)},useTransition:function(){return[No(Oo)[0],Co().memoizedState]},useMutableSource:Po,useSyncExternalStore:Lo,useId:es,unstable_isNewReconciler:!1};function cs(e,t){try{var n="",r=t;do{n+=V(r),r=r.return}while(r);var a=n}catch(i){a="\nError generating stack: "+i.message+"\n"+i.stack}return{value:e,source:t,stack:a,digest:null}}function ds(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function fs(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ps="function"===typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=Mi(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Gl||(Gl=!0,$l=r),fs(0,t)},n}function ms(e,t,n){(n=Mi(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){fs(0,t)}}var i=e.stateNode;return null!==i&&"function"===typeof i.componentDidCatch&&(n.callback=function(){fs(0,t),"function"!==typeof r&&(null===ql?ql=new Set([this]):ql.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function vs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ps;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=Tu.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,r,a){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Mi(-1,1)).tag=2,Ii(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var bs=w.ReactCurrentOwner,ws=!1;function xs(e,t,n,r){t.child=null===e?Qi(t,null,n,r):Xi(t,e.child,n,r)}function Ss(e,t,n,r,a){n=n.render;var i=t.ref;return ki(t,a),r=ko(e,t,n,r,i,a),n=Eo(),null===e||ws?(ai&&n&&ei(t),t.flags|=1,xs(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Gs(e,t,a))}function _s(e,t,n,r,a){if(null===e){var i=n.type;return"function"!==typeof i||Mu(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ru(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,ks(e,t,i,r,a))}if(i=e.child,0===(e.lanes&a)){var o=i.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(o,r)&&e.ref===t.ref)return Gs(e,t,a)}return t.flags|=1,(e=Iu(i,r)).ref=t.ref,e.return=t,t.child=e}function ks(e,t,n,r,a){if(null!==e){var i=e.memoizedProps;if(lr(i,r)&&e.ref===t.ref){if(ws=!1,t.pendingProps=r=i,0===(e.lanes&a))return t.lanes=e.lanes,Gs(e,t,a);0!==(131072&e.flags)&&(ws=!0)}}return Cs(e,t,n,r,a)}function Es(e,t,n){var r=t.pendingProps,a=r.children,i=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ta(Il,Ml),Ml|=n;else{if(0===(1073741824&n))return e=null!==i?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ta(Il,Ml),Ml|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==i?i.baseLanes:n,Ta(Il,Ml),Ml|=r}else null!==i?(r=i.baseLanes|n,t.memoizedState=null):r=n,Ta(Il,Ml),Ml|=r;return xs(e,t,a,n),t.child}function Ts(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cs(e,t,n,r,a){var i=La(n)?Na:Oa.current;return i=Pa(t,i),ki(t,a),n=ko(e,t,n,r,i,a),r=Eo(),null===e||ws?(ai&&r&&ei(t),t.flags|=1,xs(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Gs(e,t,a))}function Os(e,t,n,r,a){if(La(n)){var i=!0;Aa(t)}else i=!1;if(ki(t,a),null===t.stateNode)Ws(e,t),Hi(t,n,r),Gi(t,n,r,a),r=!0;else if(null===e){var o=t.stateNode,s=t.memoizedProps;o.props=s;var l=o.context,u=n.contextType;"object"===typeof u&&null!==u?u=Ei(u):u=Pa(t,u=La(n)?Na:Oa.current);var c=n.getDerivedStateFromProps,d="function"===typeof c||"function"===typeof o.getSnapshotBeforeUpdate;d||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==r||l!==u)&&Wi(t,o,r,u),Ni=!1;var f=t.memoizedState;o.state=f,Di(t,r,o,a),l=t.memoizedState,s!==r||f!==l||ja.current||Ni?("function"===typeof c&&(Bi(t,n,c,r),l=t.memoizedState),(s=Ni||Ui(t,n,s,r,f,l,u))?(d||"function"!==typeof o.UNSAFE_componentWillMount&&"function"!==typeof o.componentWillMount||("function"===typeof o.componentWillMount&&o.componentWillMount(),"function"===typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"===typeof o.componentDidMount&&(t.flags|=4194308)):("function"===typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),o.props=r,o.state=l,o.context=u,r=s):("function"===typeof o.componentDidMount&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Li(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:vi(t.type,s),o.props=u,d=t.pendingProps,f=o.context,"object"===typeof(l=n.contextType)&&null!==l?l=Ei(l):l=Pa(t,l=La(n)?Na:Oa.current);var p=n.getDerivedStateFromProps;(c="function"===typeof p||"function"===typeof o.getSnapshotBeforeUpdate)||"function"!==typeof o.UNSAFE_componentWillReceiveProps&&"function"!==typeof o.componentWillReceiveProps||(s!==d||f!==l)&&Wi(t,o,r,l),Ni=!1,f=t.memoizedState,o.state=f,Di(t,r,o,a);var h=t.memoizedState;s!==d||f!==h||ja.current||Ni?("function"===typeof p&&(Bi(t,n,p,r),h=t.memoizedState),(u=Ni||Ui(t,n,u,r,f,h,l)||!1)?(c||"function"!==typeof o.UNSAFE_componentWillUpdate&&"function"!==typeof o.componentWillUpdate||("function"===typeof o.componentWillUpdate&&o.componentWillUpdate(r,h,l),"function"===typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(r,h,l)),"function"===typeof o.componentDidUpdate&&(t.flags|=4),"function"===typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=h),o.props=r,o.state=h,o.context=l,r=u):("function"!==typeof o.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!==typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return js(e,t,n,r,i,a)}function js(e,t,n,r,a,i){Ts(e,t);var o=0!==(128&t.flags);if(!r&&!o)return a&&Da(t,n,!1),Gs(e,t,i);r=t.stateNode,bs.current=t;var s=o&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&o?(t.child=Xi(t,e.child,null,i),t.child=Xi(t,null,s,i)):xs(e,t,s,i),t.memoizedState=r.state,a&&Da(t,n,!0),t.child}function Ns(e){var t=e.stateNode;t.pendingContext?Ia(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ia(0,t.context,!1),ro(e,t.containerInfo)}function Ps(e,t,n,r,a){return pi(),hi(a),t.flags|=256,xs(e,t,n,r),t.child}var Ls,Ms,Is,Rs,As={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function zs(e,t,n){var r,a=t.pendingProps,o=so.current,s=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&o)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(o|=1),Ta(so,1&o),null===e)return ui(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=a.children,e=a.fallback,s?(a=t.mode,s=t.child,l={mode:"hidden",children:l},0===(1&a)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Du(l,a,0,null),e=Au(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=As,e):Fs(t,l));if(null!==(o=e.memoizedState)&&null!==(r=o.dehydrated))return function(e,t,n,r,a,o,s){if(n)return 256&t.flags?(t.flags&=-257,Bs(e,t,s,r=ds(Error(i(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=r.fallback,a=t.mode,r=Du({mode:"visible",children:r.children},a,0,null),(o=Au(o,a,s,null)).flags|=2,r.return=t,o.return=t,r.sibling=o,t.child=r,0!==(1&t.mode)&&Xi(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=As,o);if(0===(1&t.mode))return Bs(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var l=r.dgst;return r=l,Bs(e,t,s,r=ds(o=Error(i(419)),r,void 0))}if(l=0!==(s&e.childLanes),ws||l){if(null!==(r=Nl)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!==(a&(r.suspendedLanes|s))?0:a)&&a!==o.retryLane&&(o.retryLane=a,ji(e,a),ru(r,e,a,-1))}return vu(),Bs(e,t,s,r=ds(Error(i(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Ou.bind(null,e),a._reactRetry=t,null):(e=o.treeContext,ri=ua(a.nextSibling),ni=t,ai=!0,ii=null,null!==e&&(qa[Ka++]=Xa,qa[Ka++]=Qa,qa[Ka++]=Ya,Xa=e.id,Qa=e.overflow,Ya=t),t=Fs(t,r.children),t.flags|=4096,t)}(e,t,l,a,r,o,n);if(s){s=a.fallback,l=t.mode,r=(o=e.child).sibling;var u={mode:"hidden",children:a.children};return 0===(1&l)&&t.child!==o?((a=t.child).childLanes=0,a.pendingProps=u,t.deletions=null):(a=Iu(o,u)).subtreeFlags=14680064&o.subtreeFlags,null!==r?s=Iu(r,s):(s=Au(s,l,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,l=null===(l=e.child.memoizedState)?Ds(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=As,a}return e=(s=e.child).sibling,a=Iu(s,{mode:"visible",children:a.children}),0===(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Fs(e,t){return(t=Du({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bs(e,t,n,r){return null!==r&&hi(r),Xi(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Vs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),_i(e.return,t,n)}function Us(e,t,n,r,a){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a)}function Hs(e,t,n){var r=t.pendingProps,a=r.revealOrder,i=r.tail;if(xs(e,t,r.children,n),0!==(2&(r=so.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Vs(e,n,t);else if(19===e.tag)Vs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ta(so,r),0===(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===lo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Us(t,!1,a,n,i);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===lo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Us(t,!0,n,null,i);break;case"together":Us(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ws(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Gs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dl|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Iu(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Iu(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function $s(e,t){if(!ai)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function qs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ks(e,t,n){var r=t.pendingProps;switch(ti(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qs(t),null;case 1:case 17:return La(t.type)&&Ma(),qs(t),null;case 3:return r=t.stateNode,ao(),Ea(ja),Ea(Oa),co(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(di(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==ii&&(su(ii),ii=null))),Ms(e,t),qs(t),null;case 5:oo(t);var a=no(to.current);if(n=t.type,null!==e&&null!=t.stateNode)Is(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(i(166));return qs(t),null}if(e=no(Zi.current),di(t)){r=t.stateNode,n=t.type;var o=t.memoizedProps;switch(r[fa]=t,r[pa]=o,e=0!==(1&t.mode),n){case"dialog":Fr("cancel",r),Fr("close",r);break;case"iframe":case"object":case"embed":Fr("load",r);break;case"video":case"audio":for(a=0;a<Rr.length;a++)Fr(Rr[a],r);break;case"source":Fr("error",r);break;case"img":case"image":case"link":Fr("error",r),Fr("load",r);break;case"details":Fr("toggle",r);break;case"input":X(r,o),Fr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!o.multiple},Fr("invalid",r);break;case"textarea":ae(r,o),Fr("invalid",r)}for(var l in ye(n,o),a=null,o)if(o.hasOwnProperty(l)){var u=o[l];"children"===l?"string"===typeof u?r.textContent!==u&&(!0!==o.suppressHydrationWarning&&Jr(r.textContent,u,e),a=["children",u]):"number"===typeof u&&r.textContent!==""+u&&(!0!==o.suppressHydrationWarning&&Jr(r.textContent,u,e),a=["children",""+u]):s.hasOwnProperty(l)&&null!=u&&"onScroll"===l&&Fr("scroll",r)}switch(n){case"input":$(r),Z(r,o,!0);break;case"textarea":$(r),oe(r);break;case"select":case"option":break;default:"function"===typeof o.onClick&&(r.onclick=Zr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[fa]=t,e[pa]=r,Ls(e,t,!1,!1),t.stateNode=e;e:{switch(l=be(n,r),n){case"dialog":Fr("cancel",e),Fr("close",e),a=r;break;case"iframe":case"object":case"embed":Fr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Rr.length;a++)Fr(Rr[a],e);a=r;break;case"source":Fr("error",e),a=r;break;case"img":case"image":case"link":Fr("error",e),Fr("load",e),a=r;break;case"details":Fr("toggle",e),a=r;break;case"input":X(e,r),a=Y(e,r),Fr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=D({},r,{value:void 0}),Fr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),Fr("invalid",e)}for(o in ye(n,a),u=a)if(u.hasOwnProperty(o)){var c=u[o];"style"===o?ve(e,c):"dangerouslySetInnerHTML"===o?null!=(c=c?c.__html:void 0)&&de(e,c):"children"===o?"string"===typeof c?("textarea"!==n||""!==c)&&fe(e,c):"number"===typeof c&&fe(e,""+c):"suppressContentEditableWarning"!==o&&"suppressHydrationWarning"!==o&&"autoFocus"!==o&&(s.hasOwnProperty(o)?null!=c&&"onScroll"===o&&Fr("scroll",e):null!=c&&b(e,o,c,l))}switch(n){case"input":$(e),Z(e,r,!1);break;case"textarea":$(e),oe(e);break;case"option":null!=r.value&&e.setAttribute("value",""+W(r.value));break;case"select":e.multiple=!!r.multiple,null!=(o=r.value)?ne(e,!!r.multiple,o,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof a.onClick&&(e.onclick=Zr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qs(t),null;case 6:if(e&&null!=t.stateNode)Rs(e,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(i(166));if(n=no(to.current),no(Zi.current),di(t)){if(r=t.stateNode,n=t.memoizedProps,r[fa]=t,(o=r.nodeValue!==n)&&null!==(e=ni))switch(e.tag){case 3:Jr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Jr(r.nodeValue,n,0!==(1&e.mode))}o&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[fa]=t,t.stateNode=r}return qs(t),null;case 13:if(Ea(so),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ai&&null!==ri&&0!==(1&t.mode)&&0===(128&t.flags))fi(),pi(),t.flags|=98560,o=!1;else if(o=di(t),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(i(318));if(!(o=null!==(o=t.memoizedState)?o.dehydrated:null))throw Error(i(317));o[fa]=t}else pi(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qs(t),o=!1}else null!==ii&&(su(ii),ii=null),o=!0;if(!o)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&so.current)?0===Rl&&(Rl=3):vu())),null!==t.updateQueue&&(t.flags|=4),qs(t),null);case 4:return ao(),Ms(e,t),null===e&&Ur(t.stateNode.containerInfo),qs(t),null;case 10:return Si(t.type._context),qs(t),null;case 19:if(Ea(so),null===(o=t.memoizedState))return qs(t),null;if(r=0!==(128&t.flags),null===(l=o.rendering))if(r)$s(o,!1);else{if(0!==Rl||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=lo(e))){for(t.flags|=128,$s(o,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(o=n).flags&=14680066,null===(l=o.alternate)?(o.childLanes=0,o.lanes=e,o.child=null,o.subtreeFlags=0,o.memoizedProps=null,o.memoizedState=null,o.updateQueue=null,o.dependencies=null,o.stateNode=null):(o.childLanes=l.childLanes,o.lanes=l.lanes,o.child=l.child,o.subtreeFlags=0,o.deletions=null,o.memoizedProps=l.memoizedProps,o.memoizedState=l.memoizedState,o.updateQueue=l.updateQueue,o.type=l.type,e=l.dependencies,o.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ta(so,1&so.current|2),t.child}e=e.sibling}null!==o.tail&&Qe()>Hl&&(t.flags|=128,r=!0,$s(o,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=lo(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),$s(o,!0),null===o.tail&&"hidden"===o.tailMode&&!l.alternate&&!ai)return qs(t),null}else 2*Qe()-o.renderingStartTime>Hl&&1073741824!==n&&(t.flags|=128,r=!0,$s(o,!1),t.lanes=4194304);o.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=o.last)?n.sibling=l:t.child=l,o.last=l)}return null!==o.tail?(t=o.tail,o.rendering=t,o.tail=t.sibling,o.renderingStartTime=Qe(),t.sibling=null,n=so.current,Ta(so,r?1&n|2:1&n),t):(qs(t),null);case 22:case 23:return fu(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Ml)&&(qs(t),6&t.subtreeFlags&&(t.flags|=8192)):qs(t),null;case 24:case 25:return null}throw Error(i(156,t.tag))}function Ys(e,t){switch(ti(t),t.tag){case 1:return La(t.type)&&Ma(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return ao(),Ea(ja),Ea(Oa),co(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return oo(t),null;case 13:if(Ea(so),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(i(340));pi()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ea(so),null;case 4:return ao(),null;case 10:return Si(t.type._context),null;case 22:case 23:return fu(),null;default:return null}}Ls=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ms=function(){},Is=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,no(Zi.current);var i,o=null;switch(n){case"input":a=Y(e,a),r=Y(e,r),o=[];break;case"select":a=D({},a,{value:void 0}),r=D({},r,{value:void 0}),o=[];break;case"textarea":a=re(e,a),r=re(e,r),o=[];break;default:"function"!==typeof a.onClick&&"function"===typeof r.onClick&&(e.onclick=Zr)}for(c in ye(n,r),n=null,a)if(!r.hasOwnProperty(c)&&a.hasOwnProperty(c)&&null!=a[c])if("style"===c){var l=a[c];for(i in l)l.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(s.hasOwnProperty(c)?o||(o=[]):(o=o||[]).push(c,null));for(c in r){var u=r[c];if(l=null!=a?a[c]:void 0,r.hasOwnProperty(c)&&u!==l&&(null!=u||null!=l))if("style"===c)if(l){for(i in l)!l.hasOwnProperty(i)||u&&u.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in u)u.hasOwnProperty(i)&&l[i]!==u[i]&&(n||(n={}),n[i]=u[i])}else n||(o||(o=[]),o.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,l=l?l.__html:void 0,null!=u&&l!==u&&(o=o||[]).push(c,u)):"children"===c?"string"!==typeof u&&"number"!==typeof u||(o=o||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(s.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&Fr("scroll",e),o||l===u||(o=[])):(o=o||[]).push(c,u))}n&&(o=o||[]).push("style",n);var c=o;(t.updateQueue=c)&&(t.flags|=4)}},Rs=function(e,t,n,r){n!==r&&(t.flags|=4)};var Xs=!1,Qs=!1,Js="function"===typeof WeakSet?WeakSet:Set,Zs=null;function el(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){Eu(e,t,r)}else n.current=null}function tl(e,t,n){try{n()}catch(r){Eu(e,t,r)}}var nl=!1;function rl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var i=a.destroy;a.destroy=void 0,void 0!==i&&tl(t,n,i)}a=a.next}while(a!==r)}}function al(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function il(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function ol(e){var t=e.alternate;null!==t&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[fa],delete t[pa],delete t[ma],delete t[va],delete t[ga])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sl(e){return 5===e.tag||3===e.tag||4===e.tag}function ll(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ul(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=Zr));else if(4!==r&&null!==(e=e.child))for(ul(e,t,n),e=e.sibling;null!==e;)ul(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var dl=null,fl=!1;function pl(e,t,n){for(n=n.child;null!==n;)hl(e,t,n),n=n.sibling}function hl(e,t,n){if(it&&"function"===typeof it.onCommitFiberUnmount)try{it.onCommitFiberUnmount(at,n)}catch(s){}switch(n.tag){case 5:Qs||el(n,t);case 6:var r=dl,a=fl;dl=null,pl(e,t,n),fl=a,null!==(dl=r)&&(fl?(e=dl,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):dl.removeChild(n.stateNode));break;case 18:null!==dl&&(fl?(e=dl,n=n.stateNode,8===e.nodeType?la(e.parentNode,n):1===e.nodeType&&la(e,n),Ut(e)):la(dl,n.stateNode));break;case 4:r=dl,a=fl,dl=n.stateNode.containerInfo,fl=!0,pl(e,t,n),dl=r,fl=a;break;case 0:case 11:case 14:case 15:if(!Qs&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var i=a,o=i.destroy;i=i.tag,void 0!==o&&(0!==(2&i)||0!==(4&i))&&tl(n,t,o),a=a.next}while(a!==r)}pl(e,t,n);break;case 1:if(!Qs&&(el(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Eu(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Qs=(r=Qs)||null!==n.memoizedState,pl(e,t,n),Qs=r):pl(e,t,n);break;default:pl(e,t,n)}}function ml(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Js),t.forEach((function(t){var r=ju.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function vl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var o=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:dl=l.stateNode,fl=!1;break e;case 3:case 4:dl=l.stateNode.containerInfo,fl=!0;break e}l=l.return}if(null===dl)throw Error(i(160));hl(o,s,a),dl=null,fl=!1;var u=a.alternate;null!==u&&(u.return=null),a.return=null}catch(c){Eu(a,t,c)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gl(t,e),t=t.sibling}function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(vl(t,e),yl(e),4&r){try{rl(3,e,e.return),al(3,e)}catch(v){Eu(e,e.return,v)}try{rl(5,e,e.return)}catch(v){Eu(e,e.return,v)}}break;case 1:vl(t,e),yl(e),512&r&&null!==n&&el(n,n.return);break;case 5:if(vl(t,e),yl(e),512&r&&null!==n&&el(n,n.return),32&e.flags){var a=e.stateNode;try{fe(a,"")}catch(v){Eu(e,e.return,v)}}if(4&r&&null!=(a=e.stateNode)){var o=e.memoizedProps,s=null!==n?n.memoizedProps:o,l=e.type,u=e.updateQueue;if(e.updateQueue=null,null!==u)try{"input"===l&&"radio"===o.type&&null!=o.name&&Q(a,o),be(l,s);var c=be(l,o);for(s=0;s<u.length;s+=2){var d=u[s],f=u[s+1];"style"===d?ve(a,f):"dangerouslySetInnerHTML"===d?de(a,f):"children"===d?fe(a,f):b(a,d,f,c)}switch(l){case"input":J(a,o);break;case"textarea":ie(a,o);break;case"select":var p=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!o.multiple;var h=o.value;null!=h?ne(a,!!o.multiple,h,!1):p!==!!o.multiple&&(null!=o.defaultValue?ne(a,!!o.multiple,o.defaultValue,!0):ne(a,!!o.multiple,o.multiple?[]:"",!1))}a[pa]=o}catch(v){Eu(e,e.return,v)}}break;case 6:if(vl(t,e),yl(e),4&r){if(null===e.stateNode)throw Error(i(162));a=e.stateNode,o=e.memoizedProps;try{a.nodeValue=o}catch(v){Eu(e,e.return,v)}}break;case 3:if(vl(t,e),yl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(v){Eu(e,e.return,v)}break;case 4:default:vl(t,e),yl(e);break;case 13:vl(t,e),yl(e),8192&(a=e.child).flags&&(o=null!==a.memoizedState,a.stateNode.isHidden=o,!o||null!==a.alternate&&null!==a.alternate.memoizedState||(Ul=Qe())),4&r&&ml(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Qs=(c=Qs)||d,vl(t,e),Qs=c):vl(t,e),yl(e),8192&r){if(c=null!==e.memoizedState,(e.stateNode.isHidden=c)&&!d&&0!==(1&e.mode))for(Zs=e,d=e.child;null!==d;){for(f=Zs=d;null!==Zs;){switch(h=(p=Zs).child,p.tag){case 0:case 11:case 14:case 15:rl(4,p,p.return);break;case 1:el(p,p.return);var m=p.stateNode;if("function"===typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(v){Eu(r,n,v)}}break;case 5:el(p,p.return);break;case 22:if(null!==p.memoizedState){Sl(f);continue}}null!==h?(h.return=p,Zs=h):Sl(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{a=f.stateNode,c?"function"===typeof(o=a.style).setProperty?o.setProperty("display","none","important"):o.display="none":(l=f.stateNode,s=void 0!==(u=f.memoizedProps.style)&&null!==u&&u.hasOwnProperty("display")?u.display:null,l.style.display=me("display",s))}catch(v){Eu(e,e.return,v)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=c?"":f.memoizedProps}catch(v){Eu(e,e.return,v)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:vl(t,e),yl(e),4&r&&ml(e);case 21:}}function yl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(sl(n)){var r=n;break e}n=n.return}throw Error(i(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(fe(a,""),r.flags&=-33),cl(e,ll(e),a);break;case 3:case 4:var o=r.stateNode.containerInfo;ul(e,ll(e),o);break;default:throw Error(i(161))}}catch(s){Eu(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function bl(e,t,n){Zs=e,wl(e,t,n)}function wl(e,t,n){for(var r=0!==(1&e.mode);null!==Zs;){var a=Zs,i=a.child;if(22===a.tag&&r){var o=null!==a.memoizedState||Xs;if(!o){var s=a.alternate,l=null!==s&&null!==s.memoizedState||Qs;s=Xs;var u=Qs;if(Xs=o,(Qs=l)&&!u)for(Zs=a;null!==Zs;)l=(o=Zs).child,22===o.tag&&null!==o.memoizedState?_l(a):null!==l?(l.return=o,Zs=l):_l(a);for(;null!==i;)Zs=i,wl(i,t,n),i=i.sibling;Zs=a,Xs=s,Qs=u}xl(e)}else 0!==(8772&a.subtreeFlags)&&null!==i?(i.return=a,Zs=i):xl(e)}}function xl(e){for(;null!==Zs;){var t=Zs;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Qs||al(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Qs)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:vi(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var o=t.updateQueue;null!==o&&zi(t,o,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zi(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&n.focus();break;case"img":u.src&&(n.src=u.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Ut(f)}}}break;default:throw Error(i(163))}Qs||512&t.flags&&il(t)}catch(p){Eu(t,t.return,p)}}if(t===e){Zs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Zs=n;break}Zs=t.return}}function Sl(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Zs=n;break}Zs=t.return}}function _l(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{al(4,t)}catch(l){Eu(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(l){Eu(t,a,l)}}var i=t.return;try{il(t)}catch(l){Eu(t,i,l)}break;case 5:var o=t.return;try{il(t)}catch(l){Eu(t,o,l)}}}catch(l){Eu(t,t.return,l)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var kl,El=Math.ceil,Tl=w.ReactCurrentDispatcher,Cl=w.ReactCurrentOwner,Ol=w.ReactCurrentBatchConfig,jl=0,Nl=null,Pl=null,Ll=0,Ml=0,Il=ka(0),Rl=0,Al=null,Dl=0,zl=0,Fl=0,Bl=null,Vl=null,Ul=0,Hl=1/0,Wl=null,Gl=!1,$l=null,ql=null,Kl=!1,Yl=null,Xl=0,Ql=0,Jl=null,Zl=-1,eu=0;function tu(){return 0!==(6&jl)?Qe():-1!==Zl?Zl:Zl=Qe()}function nu(e){return 0===(1&e.mode)?1:0!==(2&jl)&&0!==Ll?Ll&-Ll:null!==mi.transition?(0===eu&&(eu=mt()),eu):0!==(e=bt)?e:e=void 0===(e=window.event)?16:Xt(e.type)}function ru(e,t,n,r){if(50<Ql)throw Ql=0,Jl=null,Error(i(185));gt(e,n,r),0!==(2&jl)&&e===Nl||(e===Nl&&(0===(2&jl)&&(zl|=n),4===Rl&&lu(e,Ll)),au(e,r),1===n&&0===jl&&0===(1&t.mode)&&(Hl=Qe()+500,Fa&&Ua()))}function au(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,i=e.pendingLanes;0<i;){var o=31-ot(i),s=1<<o,l=a[o];-1===l?0!==(s&n)&&0===(s&r)||(a[o]=pt(s,t)):l<=t&&(e.expiredLanes|=s),i&=~s}}(e,t);var r=ft(e,e===Nl?Ll:0);if(0===r)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){Fa=!0,Va(e)}(uu.bind(null,e)):Va(uu.bind(null,e)),oa((function(){0===(6&jl)&&Ua()})),n=null;else{switch(wt(r)){case 1:n=Ze;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Nu(n,iu.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function iu(e,t){if(Zl=-1,eu=0,0!==(6&jl))throw Error(i(327));var n=e.callbackNode;if(_u()&&e.callbackNode!==n)return null;var r=ft(e,e===Nl?Ll:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=gu(e,r);else{t=r;var a=jl;jl|=2;var o=mu();for(Nl===e&&Ll===t||(Wl=null,Hl=Qe()+500,pu(e,t));;)try{bu();break}catch(l){hu(e,l)}xi(),Tl.current=o,jl=a,null!==Pl?t=0:(Nl=null,Ll=0,t=Rl)}if(0!==t){if(2===t&&(0!==(a=ht(e))&&(r=a,t=ou(e,a))),1===t)throw n=Al,pu(e,0),lu(e,r),au(e,Qe()),n;if(6===t)lu(e,r);else{if(a=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],i=a.getSnapshot;a=a.value;try{if(!sr(i(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=gu(e,r))&&(0!==(o=ht(e))&&(r=o,t=ou(e,o))),1===t))throw n=Al,pu(e,0),lu(e,r),au(e,Qe()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(i(345));case 2:case 5:Su(e,Vl,Wl);break;case 3:if(lu(e,r),(130023424&r)===r&&10<(t=Ul+500-Qe())){if(0!==ft(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tu(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(Su.bind(null,e,Vl,Wl),t);break}Su(e,Vl,Wl);break;case 4:if(lu(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-ot(r);o=1<<s,(s=t[s])>a&&(a=s),r&=~o}if(r=a,10<(r=(120>(r=Qe()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*El(r/1960))-r)){e.timeoutHandle=ra(Su.bind(null,e,Vl,Wl),r);break}Su(e,Vl,Wl);break;default:throw Error(i(329))}}}return au(e,Qe()),e.callbackNode===n?iu.bind(null,e):null}function ou(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(pu(e,t).flags|=256),2!==(e=gu(e,t))&&(t=Vl,Vl=n,null!==t&&su(t)),e}function su(e){null===Vl?Vl=e:Vl.push.apply(Vl,e)}function lu(e,t){for(t&=~Fl,t&=~zl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-ot(t),r=1<<n;e[n]=-1,t&=~r}}function uu(e){if(0!==(6&jl))throw Error(i(327));_u();var t=ft(e,0);if(0===(1&t))return au(e,Qe()),null;var n=gu(e,t);if(0!==e.tag&&2===n){var r=ht(e);0!==r&&(t=r,n=ou(e,r))}if(1===n)throw n=Al,pu(e,0),lu(e,t),au(e,Qe()),n;if(6===n)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Su(e,Vl,Wl),au(e,Qe()),null}function cu(e,t){var n=jl;jl|=1;try{return e(t)}finally{0===(jl=n)&&(Hl=Qe()+500,Fa&&Ua())}}function du(e){null!==Yl&&0===Yl.tag&&0===(6&jl)&&_u();var t=jl;jl|=1;var n=Ol.transition,r=bt;try{if(Ol.transition=null,bt=1,e)return e()}finally{bt=r,Ol.transition=n,0===(6&(jl=t))&&Ua()}}function fu(){Ml=Il.current,Ea(Il)}function pu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Pl)for(n=Pl.return;null!==n;){var r=n;switch(ti(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&Ma();break;case 3:ao(),Ea(ja),Ea(Oa),co();break;case 5:oo(r);break;case 4:ao();break;case 13:case 19:Ea(so);break;case 10:Si(r.type._context);break;case 22:case 23:fu()}n=n.return}if(Nl=e,Pl=e=Iu(e.current,null),Ll=Ml=t,Rl=0,Al=null,Fl=zl=Dl=0,Vl=Bl=null,null!==Ti){for(t=0;t<Ti.length;t++)if(null!==(r=(n=Ti[t]).interleaved)){n.interleaved=null;var a=r.next,i=n.pending;if(null!==i){var o=i.next;i.next=a,r.next=o}n.pending=r}Ti=null}return e}function hu(e,t){for(;;){var n=Pl;try{if(xi(),fo.current=os,yo){for(var r=mo.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}yo=!1}if(ho=0,go=vo=mo=null,bo=!1,wo=0,Cl.current=null,null===n||null===n.return){Rl=1,Al=t,Pl=null;break}e:{var o=e,s=n.return,l=n,u=t;if(t=Ll,l.flags|=32768,null!==u&&"object"===typeof u&&"function"===typeof u.then){var c=u,d=l,f=d.tag;if(0===(1&d.mode)&&(0===f||11===f||15===f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var h=gs(s);if(null!==h){h.flags&=-257,ys(h,s,l,0,t),1&h.mode&&vs(o,c,t),u=c;var m=(t=h).updateQueue;if(null===m){var v=new Set;v.add(u),t.updateQueue=v}else m.add(u);break e}if(0===(1&t)){vs(o,c,t),vu();break e}u=Error(i(426))}else if(ai&&1&l.mode){var g=gs(s);if(null!==g){0===(65536&g.flags)&&(g.flags|=256),ys(g,s,l,0,t),hi(cs(u,l));break e}}o=u=cs(u,l),4!==Rl&&(Rl=2),null===Bl?Bl=[o]:Bl.push(o),o=s;do{switch(o.tag){case 3:o.flags|=65536,t&=-t,o.lanes|=t,Ai(o,hs(0,u,t));break e;case 1:l=u;var y=o.type,b=o.stateNode;if(0===(128&o.flags)&&("function"===typeof y.getDerivedStateFromError||null!==b&&"function"===typeof b.componentDidCatch&&(null===ql||!ql.has(b)))){o.flags|=65536,t&=-t,o.lanes|=t,Ai(o,ms(o,l,t));break e}}o=o.return}while(null!==o)}xu(n)}catch(w){t=w,Pl===n&&null!==n&&(Pl=n=n.return);continue}break}}function mu(){var e=Tl.current;return Tl.current=os,null===e?os:e}function vu(){0!==Rl&&3!==Rl&&2!==Rl||(Rl=4),null===Nl||0===(268435455&Dl)&&0===(268435455&zl)||lu(Nl,Ll)}function gu(e,t){var n=jl;jl|=2;var r=mu();for(Nl===e&&Ll===t||(Wl=null,pu(e,t));;)try{yu();break}catch(a){hu(e,a)}if(xi(),jl=n,Tl.current=r,null!==Pl)throw Error(i(261));return Nl=null,Ll=0,Rl}function yu(){for(;null!==Pl;)wu(Pl)}function bu(){for(;null!==Pl&&!Ye();)wu(Pl)}function wu(e){var t=kl(e.alternate,e,Ml);e.memoizedProps=e.pendingProps,null===t?xu(e):Pl=t,Cl.current=null}function xu(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Ks(n,t,Ml)))return void(Pl=n)}else{if(null!==(n=Ys(n,t)))return n.flags&=32767,void(Pl=n);if(null===e)return Rl=6,void(Pl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Pl=t);Pl=t=e}while(null!==t);0===Rl&&(Rl=5)}function Su(e,t,n){var r=bt,a=Ol.transition;try{Ol.transition=null,bt=1,function(e,t,n,r){do{_u()}while(null!==Yl);if(0!==(6&jl))throw Error(i(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var o=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-ot(n),i=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~i}}(e,o),e===Nl&&(Pl=Nl=null,Ll=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Kl||(Kl=!0,Nu(tt,(function(){return _u(),null}))),o=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||o){o=Ol.transition,Ol.transition=null;var s=bt;bt=1;var l=jl;jl|=4,Cl.current=null,function(e,t){if(ea=Wt,pr(e=fr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch(x){n=null;break e}var s=0,l=-1,u=-1,c=0,d=0,f=e,p=null;t:for(;;){for(var h;f!==n||0!==a&&3!==f.nodeType||(l=s+a),f!==o||0!==r&&3!==f.nodeType||(u=s+r),3===f.nodeType&&(s+=f.nodeValue.length),null!==(h=f.firstChild);)p=f,f=h;for(;;){if(f===e)break t;if(p===n&&++c===a&&(l=s),p===o&&++d===r&&(u=s),null!==(h=f.nextSibling))break;p=(f=p).parentNode}f=h}n=-1===l||-1===u?null:{start:l,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Wt=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var m=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var v=m.memoizedProps,g=m.memoizedState,y=t.stateNode,b=y.getSnapshotBeforeUpdate(t.elementType===t.type?v:vi(t.type,v),g);y.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(i(163))}}catch(x){Eu(t,t.return,x)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}m=nl,nl=!1}(e,n),gl(n,e),hr(ta),Wt=!!ea,ta=ea=null,e.current=n,bl(n,e,a),Xe(),jl=l,bt=s,Ol.transition=o}else e.current=n;if(Kl&&(Kl=!1,Yl=e,Xl=a),o=e.pendingLanes,0===o&&(ql=null),function(e){if(it&&"function"===typeof it.onCommitFiberRoot)try{it.onCommitFiberRoot(at,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),au(e,Qe()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Gl)throw Gl=!1,e=$l,$l=null,e;0!==(1&Xl)&&0!==e.tag&&_u(),o=e.pendingLanes,0!==(1&o)?e===Jl?Ql++:(Ql=0,Jl=e):Ql=0,Ua()}(e,t,n,r)}finally{Ol.transition=a,bt=r}return null}function _u(){if(null!==Yl){var e=wt(Xl),t=Ol.transition,n=bt;try{if(Ol.transition=null,bt=16>e?16:e,null===Yl)var r=!1;else{if(e=Yl,Yl=null,Xl=0,0!==(6&jl))throw Error(i(331));var a=jl;for(jl|=4,Zs=e.current;null!==Zs;){var o=Zs,s=o.child;if(0!==(16&Zs.flags)){var l=o.deletions;if(null!==l){for(var u=0;u<l.length;u++){var c=l[u];for(Zs=c;null!==Zs;){var d=Zs;switch(d.tag){case 0:case 11:case 15:rl(8,d,o)}var f=d.child;if(null!==f)f.return=d,Zs=f;else for(;null!==Zs;){var p=(d=Zs).sibling,h=d.return;if(ol(d),d===c){Zs=null;break}if(null!==p){p.return=h,Zs=p;break}Zs=h}}}var m=o.alternate;if(null!==m){var v=m.child;if(null!==v){m.child=null;do{var g=v.sibling;v.sibling=null,v=g}while(null!==v)}}Zs=o}}if(0!==(2064&o.subtreeFlags)&&null!==s)s.return=o,Zs=s;else e:for(;null!==Zs;){if(0!==(2048&(o=Zs).flags))switch(o.tag){case 0:case 11:case 15:rl(9,o,o.return)}var y=o.sibling;if(null!==y){y.return=o.return,Zs=y;break e}Zs=o.return}}var b=e.current;for(Zs=b;null!==Zs;){var w=(s=Zs).child;if(0!==(2064&s.subtreeFlags)&&null!==w)w.return=s,Zs=w;else e:for(s=b;null!==Zs;){if(0!==(2048&(l=Zs).flags))try{switch(l.tag){case 0:case 11:case 15:al(9,l)}}catch(S){Eu(l,l.return,S)}if(l===s){Zs=null;break e}var x=l.sibling;if(null!==x){x.return=l.return,Zs=x;break e}Zs=l.return}}if(jl=a,Ua(),it&&"function"===typeof it.onPostCommitFiberRoot)try{it.onPostCommitFiberRoot(at,e)}catch(S){}r=!0}return r}finally{bt=n,Ol.transition=t}}return!1}function ku(e,t,n){e=Ii(e,t=hs(0,t=cs(n,t),1),1),t=tu(),null!==e&&(gt(e,1,t),au(e,t))}function Eu(e,t,n){if(3===e.tag)ku(e,e,n);else for(;null!==t;){if(3===t.tag){ku(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===ql||!ql.has(r))){t=Ii(t,e=ms(t,e=cs(n,e),1),1),e=tu(),null!==t&&(gt(t,1,e),au(t,e));break}}t=t.return}}function Tu(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tu(),e.pingedLanes|=e.suspendedLanes&n,Nl===e&&(Ll&n)===n&&(4===Rl||3===Rl&&(130023424&Ll)===Ll&&500>Qe()-Ul?pu(e,0):Fl|=n),au(e,t)}function Cu(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ct,0===(130023424&(ct<<=1))&&(ct=4194304)));var n=tu();null!==(e=ji(e,t))&&(gt(e,t,n),au(e,n))}function Ou(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cu(e,n)}function ju(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(i(314))}null!==r&&r.delete(t),Cu(e,n)}function Nu(e,t){return qe(e,t)}function Pu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lu(e,t,n,r){return new Pu(e,t,n,r)}function Mu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Iu(e,t){var n=e.alternate;return null===n?((n=Lu(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ru(e,t,n,r,a,o){var s=2;if(r=e,"function"===typeof e)Mu(e)&&(s=1);else if("string"===typeof e)s=5;else e:switch(e){case _:return Au(n.children,a,o,t);case k:s=8,a|=8;break;case E:return(e=Lu(12,n,t,2|a)).elementType=E,e.lanes=o,e;case j:return(e=Lu(13,n,t,a)).elementType=j,e.lanes=o,e;case N:return(e=Lu(19,n,t,a)).elementType=N,e.lanes=o,e;case M:return Du(n,a,o,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case T:s=10;break e;case C:s=9;break e;case O:s=11;break e;case P:s=14;break e;case L:s=16,r=null;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Lu(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function Au(e,t,n,r){return(e=Lu(7,e,r,t)).lanes=n,e}function Du(e,t,n,r){return(e=Lu(22,e,r,t)).elementType=M,e.lanes=n,e.stateNode={isHidden:!1},e}function zu(e,t,n){return(e=Lu(6,e,null,t)).lanes=n,e}function Fu(e,t,n){return(t=Lu(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bu(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vt(0),this.expirationTimes=vt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vt(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Vu(e,t,n,r,a,i,o,s,l){return e=new Bu(e,t,n,s,l),1===t?(t=1,!0===i&&(t|=8)):t=0,i=Lu(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Pi(i),e}function Uu(e){if(!e)return Ca;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(i(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(La(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(i(171))}if(1===e.tag){var n=e.type;if(La(n))return Ra(e,n,t)}return t}function Hu(e,t,n,r,a,i,o,s,l){return(e=Vu(n,r,!0,e,0,i,0,s,l)).context=Uu(null),n=e.current,(i=Mi(r=tu(),a=nu(n))).callback=void 0!==t&&null!==t?t:null,Ii(n,i,a),e.current.lanes=a,gt(e,a,r),au(e,r),e}function Wu(e,t,n,r){var a=t.current,i=tu(),o=nu(a);return n=Uu(n),null===t.context?t.context=n:t.pendingContext=n,(t=Mi(i,o)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ii(a,t,o))&&(ru(e,a,o,i),Ri(e,a,o)),o}function Gu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function $u(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function qu(e,t){$u(e,t),(e=e.alternate)&&$u(e,t)}kl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||ja.current)ws=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return ws=!1,function(e,t,n){switch(t.tag){case 3:Ns(t),pi();break;case 5:io(t);break;case 1:La(t.type)&&Aa(t);break;case 4:ro(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ta(gi,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ta(so,1&so.current),t.flags|=128,null):0!==(n&t.child.childLanes)?zs(e,t,n):(Ta(so,1&so.current),null!==(e=Gs(e,t,n))?e.sibling:null);Ta(so,1&so.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return Hs(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ta(so,so.current),r)break;return null;case 22:case 23:return t.lanes=0,Es(e,t,n)}return Gs(e,t,n)}(e,t,n);ws=0!==(131072&e.flags)}else ws=!1,ai&&0!==(1048576&t.flags)&&Za(t,$a,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ws(e,t),e=t.pendingProps;var a=Pa(t,Oa.current);ki(t,n),a=ko(null,t,r,e,a,n);var o=Eo();return t.flags|=1,"object"===typeof a&&null!==a&&"function"===typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,La(r)?(o=!0,Aa(t)):o=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Pi(t),a.updater=Vi,t.stateNode=a,a._reactInternals=t,Gi(t,r,e,n),t=js(null,t,r,!0,o,n)):(t.tag=0,ai&&o&&ei(t),xs(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ws(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"===typeof e)return Mu(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===O)return 11;if(e===P)return 14}return 2}(r),e=vi(r,e),a){case 0:t=Cs(null,t,r,e,n);break e;case 1:t=Os(null,t,r,e,n);break e;case 11:t=Ss(null,t,r,e,n);break e;case 14:t=_s(null,t,r,vi(r.type,e),n);break e}throw Error(i(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Cs(e,t,r,a=t.elementType===r?a:vi(r,a),n);case 1:return r=t.type,a=t.pendingProps,Os(e,t,r,a=t.elementType===r?a:vi(r,a),n);case 3:e:{if(Ns(t),null===e)throw Error(i(387));r=t.pendingProps,a=(o=t.memoizedState).element,Li(e,t),Di(t,r,null,n);var s=t.memoizedState;if(r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=Ps(e,t,r,n,a=cs(Error(i(423)),t));break e}if(r!==a){t=Ps(e,t,r,n,a=cs(Error(i(424)),t));break e}for(ri=ua(t.stateNode.containerInfo.firstChild),ni=t,ai=!0,ii=null,n=Qi(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(pi(),r===a){t=Gs(e,t,n);break e}xs(e,t,r,n)}t=t.child}return t;case 5:return io(t),null===e&&ui(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,na(r,a)?s=null:null!==o&&na(r,o)&&(t.flags|=32),Ts(e,t),xs(e,t,s,n),t.child;case 6:return null===e&&ui(t),null;case 13:return zs(e,t,n);case 4:return ro(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Xi(t,null,r,n):xs(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Ss(e,t,r,a=t.elementType===r?a:vi(r,a),n);case 7:return xs(e,t,t.pendingProps,n),t.child;case 8:case 12:return xs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,o=t.memoizedProps,s=a.value,Ta(gi,r._currentValue),r._currentValue=s,null!==o)if(sr(o.value,s)){if(o.children===a.children&&!ja.current){t=Gs(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var l=o.dependencies;if(null!==l){s=o.child;for(var u=l.firstContext;null!==u;){if(u.context===r){if(1===o.tag){(u=Mi(-1,n&-n)).tag=2;var c=o.updateQueue;if(null!==c){var d=(c=c.shared).pending;null===d?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}o.lanes|=n,null!==(u=o.alternate)&&(u.lanes|=n),_i(o.return,n,t),l.lanes|=n;break}u=u.next}}else if(10===o.tag)s=o.type===t.type?null:o.child;else if(18===o.tag){if(null===(s=o.return))throw Error(i(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),_i(s,n,t),s=o.sibling}else s=o.child;if(null!==s)s.return=o;else for(s=o;null!==s;){if(s===t){s=null;break}if(null!==(o=s.sibling)){o.return=s.return,s=o;break}s=s.return}o=s}xs(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,ki(t,n),r=r(a=Ei(a)),t.flags|=1,xs(e,t,r,n),t.child;case 14:return a=vi(r=t.type,t.pendingProps),_s(e,t,r,a=vi(r.type,a),n);case 15:return ks(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:vi(r,a),Ws(e,t),t.tag=1,La(r)?(e=!0,Aa(t)):e=!1,ki(t,n),Hi(t,r,a),Gi(t,r,a,n),js(null,t,r,!0,e,n);case 19:return Hs(e,t,n);case 22:return Es(e,t,n)}throw Error(i(156,t.tag))};var Ku="function"===typeof reportError?reportError:function(e){console.error(e)};function Yu(e){this._internalRoot=e}function Xu(e){this._internalRoot=e}function Qu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Ju(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zu(){}function ec(e,t,n,r,a){var i=n._reactRootContainer;if(i){var o=i;if("function"===typeof a){var s=a;a=function(){var e=Gu(o);s.call(e)}}Wu(t,o,e,a)}else o=function(e,t,n,r,a){if(a){if("function"===typeof r){var i=r;r=function(){var e=Gu(o);i.call(e)}}var o=Hu(t,r,e,0,null,!1,0,"",Zu);return e._reactRootContainer=o,e[ha]=o.current,Ur(8===e.nodeType?e.parentNode:e),du(),o}for(;a=e.lastChild;)e.removeChild(a);if("function"===typeof r){var s=r;r=function(){var e=Gu(l);s.call(e)}}var l=Vu(e,0,!1,null,0,!1,0,"",Zu);return e._reactRootContainer=l,e[ha]=l.current,Ur(8===e.nodeType?e.parentNode:e),du((function(){Wu(t,l,n,r)})),l}(n,t,e,a,r);return Gu(o)}Xu.prototype.render=Yu.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(i(409));Wu(e,t,null,null)},Xu.prototype.unmount=Yu.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;du((function(){Wu(null,e,null,null)})),t[ha]=null}},Xu.prototype.unstable_scheduleHydration=function(e){if(e){var t=kt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Mt.length&&0!==t&&t<Mt[n].priority;n++);Mt.splice(n,0,e),0===n&&Dt(e)}},xt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),au(t,Qe()),0===(6&jl)&&(Hl=Qe()+500,Ua()))}break;case 13:du((function(){var t=ji(e,1);if(null!==t){var n=tu();ru(t,e,1,n)}})),qu(e,1)}},St=function(e){if(13===e.tag){var t=ji(e,134217728);if(null!==t)ru(t,e,134217728,tu());qu(e,134217728)}},_t=function(e){if(13===e.tag){var t=nu(e),n=ji(e,t);if(null!==n)ru(n,e,t,tu());qu(e,t)}},kt=function(){return bt},Et=function(e,t){var n=bt;try{return bt=e,t()}finally{bt=n}},Se=function(e,t,n){switch(t){case"input":if(J(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=xa(r);if(!a)throw Error(i(90));q(r),J(r,a)}}}break;case"textarea":ie(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Oe=cu,je=du;var tc={usingClientEntryPoint:!1,Events:[ba,wa,xa,Te,Ce,cu]},nc={findFiberByHostInstance:ya,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},rc={bundleType:nc.bundleType,version:nc.version,rendererPackageName:nc.rendererPackageName,rendererConfig:nc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ge(e))?null:e.stateNode},findFiberByHostInstance:nc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ac=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ac.isDisabled&&ac.supportsFiber)try{at=ac.inject(rc),it=ac}catch(ce){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tc,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qu(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Qu(e))throw Error(i(299));var n=!1,r="",a=Ku;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Vu(e,1,!1,null,0,n,0,r,a),e[ha]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Yu(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(i(188));throw e=Object.keys(e).join(","),Error(i(268,e))}return e=null===(e=Ge(t))?null:e.stateNode},t.flushSync=function(e){return du(e)},t.hydrate=function(e,t,n){if(!Ju(t))throw Error(i(200));return ec(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Qu(e))throw Error(i(405));var r=null!=n&&n.hydratedSources||null,a=!1,o="",s=Ku;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Hu(t,null,e,1,null!=n?n:null,a,0,o,s),e[ha]=t.current,Ur(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Xu(t)},t.render=function(e,t,n){if(!Ju(t))throw Error(i(200));return ec(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Ju(e))throw Error(i(40));return!!e._reactRootContainer&&(du((function(){ec(null,null,e,!1,(function(){e._reactRootContainer=null,e[ha]=null}))})),!0)},t.unstable_batchedUpdates=cu,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Ju(n))throw Error(i(200));if(null==e||void 0===e._reactInternals)throw Error(i(38));return ec(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},250:function(e,t,n){"use strict";var r=n(164);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},164:function(e,t,n){"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(463)},832:function(e,t,n){e.exports=function(e){return function(){var t={703:function(e,t,n){"use strict";var r=n(414);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,i,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return n.PropTypes=n,n}},697:function(e,t,n){e.exports=n(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},590:function(e){var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function i(e,o){if(e===o)return!0;if(e&&o&&"object"==typeof e&&"object"==typeof o){if(e.constructor!==o.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=o.length)return!1;for(l=s;0!=l--;)if(!i(e[l],o[l]))return!1;return!0}if(n&&e instanceof Map&&o instanceof Map){if(e.size!==o.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!i(l.value[1],o.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&o instanceof Set){if(e.size!==o.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!o.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(o)){if((s=e.length)!=o.length)return!1;for(l=s;0!=l--;)if(e[l]!==o[l])return!1;return!0}if(e.constructor===RegExp)return e.source===o.source&&e.flags===o.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===o.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===o.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(o).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(o,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!i(e[u[l]],o[u[l]]))return!1;return!0}return e!=e&&o!=o}e.exports=function(e,t){try{return i(e,t)}catch(e){if((e.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw e}}},37:function(e,t,n){!function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var r="Left",a="Right",i="Down",o={delta:10,preventDefaultTouchmoveEvent:!1,rotationAngle:0,trackMouse:!1,trackTouch:!0},s={first:!0,initial:[0,0],start:0,swiping:!1,xy:[0,0]},l="mousemove",u="mouseup";function c(e,t){if(0===t)return e;var n=Math.PI/180*t;return[e[0]*Math.cos(n)+e[1]*Math.sin(n),e[1]*Math.cos(n)-e[0]*Math.sin(n)]}function d(e,t){var o=function(t){t&&"touches"in t&&t.touches.length>1||e((function(e,r){r.trackMouse&&(document.addEventListener(l,d),document.addEventListener(u,p));var a="touches"in t?t.touches[0]:t,i=c([a.clientX,a.clientY],r.rotationAngle);return n({},e,s,{initial:[].concat(i),xy:i,start:t.timeStamp||0})}))},d=function(t){e((function(e,o){if("touches"in t&&t.touches.length>1)return e;var s="touches"in t?t.touches[0]:t,l=c([s.clientX,s.clientY],o.rotationAngle),u=l[0],d=l[1],f=u-e.xy[0],p=d-e.xy[1],h=Math.abs(f),m=Math.abs(p),v=(t.timeStamp||0)-e.start,g=Math.sqrt(h*h+m*m)/(v||1),y=[f/(v||1),p/(v||1)];if(h<o.delta&&m<o.delta&&!e.swiping)return e;var b=function(e,t,n,o){return e>t?n>0?a:r:o>0?i:"Up"}(h,m,f,p),w={absX:h,absY:m,deltaX:f,deltaY:p,dir:b,event:t,first:e.first,initial:e.initial,velocity:g,vxvy:y};o.onSwiping&&o.onSwiping(w);var x=!1;return(o.onSwiping||o.onSwiped||"onSwiped"+b in o)&&(x=!0),x&&o.preventDefaultTouchmoveEvent&&o.trackTouch&&t.cancelable&&t.preventDefault(),n({},e,{first:!1,eventData:w,swiping:!0})}))},f=function(t){e((function(e,r){var a;if(e.swiping&&e.eventData){a=n({},e.eventData,{event:t}),r.onSwiped&&r.onSwiped(a);var i="onSwiped"+a.dir;i in r&&r[i](a)}else r.onTap&&r.onTap({event:t});return n({},e,s,{eventData:a})}))},p=function e(t){document.removeEventListener(l,d),document.removeEventListener(u,e),f(t)},h=function(e,t){var n=function(){};if(e&&e.addEventListener){var r=[["touchstart",o],["touchmove",d],["touchend",f]];r.forEach((function(n){var r=n[0],a=n[1];return e.addEventListener(r,a,{passive:t})})),n=function(){return r.forEach((function(t){var n=t[0],r=t[1];return e.removeEventListener(n,r)}))}}return n},m={ref:function(t){null!==t&&e((function(e,r){if(e.el===t)return e;var a={};return e.el&&e.el!==t&&e.cleanUpTouch&&(e.cleanUpTouch(),a.cleanUpTouch=void 0),r.trackTouch&&t&&(a.cleanUpTouch=h(t,!r.preventDefaultTouchmoveEvent)),n({},e,{el:t},a)}))}};return t.trackMouse&&(m.onMouseDown=o),[m,h]}e.DOWN=i,e.LEFT=r,e.RIGHT=a,e.UP="Up",e.useSwipeable=function(e){var r=e.trackMouse,a=t.useRef(n({},s)),i=t.useRef(n({},o));i.current=n({},o,e);var l=t.useMemo((function(){return d((function(e){return a.current=e(a.current,i.current)}),{trackMouse:r})}),[r]),u=l[0],c=l[1];return a.current=function(e,t,r){var a={};return!t.trackTouch&&e.cleanUpTouch?(e.cleanUpTouch(),a.cleanUpTouch=void 0):t.trackTouch&&!e.cleanUpTouch&&e.el&&(a.cleanUpTouch=r(e.el,!t.preventDefaultTouchmoveEvent)),n({},e,a)}(a.current,i.current,c),u}}(t,n(888))},888:function(t){"use strict";t.exports=e}},r={};function a(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}};return t[e].call(i.exports,i,i.exports,a),i.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return function(){"use strict";function e(t){var n,r,a="";if("string"==typeof t||"number"==typeof t)a+=t;else if("object"==typeof t)if(Array.isArray(t))for(n=0;n<t.length;n++)t[n]&&(r=e(t[n]))&&(a&&(a+=" "),a+=r);else for(n in t)t[n]&&(a&&(a+=" "),a+=n);return a}function t(){for(var t,n,r=0,a="";r<arguments.length;)(t=arguments[r++])&&(n=e(t))&&(a&&(a+=" "),a+=n);return a}a.r(i),a.d(i,{default:function(){return Le}});var r=a(888),o=a.n(r),s=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,u="object"==typeof self&&self&&self.Object===Object&&self,c=l||u||Function("return this")(),d=function(){return c.Date.now()},f=/\s/,p=/^\s+/,h=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&f.test(e.charAt(t)););return t}(e)+1).replace(p,""):e},m=c.Symbol,v=Object.prototype,g=v.hasOwnProperty,y=v.toString,b=m?m.toStringTag:void 0,w=Object.prototype.toString,x=m?m.toStringTag:void 0,S=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":x&&x in Object(e)?function(e){var t=g.call(e,b),n=e[b];try{e[b]=void 0;var r=!0}catch(e){}var a=y.call(e);return r&&(t?e[b]=n:delete e[b]),a}(e):function(e){return w.call(e)}(e)},_=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,E=/^0o[0-7]+$/i,T=parseInt,C=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==S(e)}(e))return NaN;if(s(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=s(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=h(e);var n=k.test(e);return n||E.test(e)?T(e.slice(2),n?2:8):_.test(e)?NaN:+e},O=Math.max,j=Math.min,N=function(e,t,n){var r,a,i,o,l,u,c=0,f=!1,p=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=r,i=a;return r=a=void 0,c=t,o=e.apply(i,n)}function v(e){return c=e,l=setTimeout(y,t),f?m(e):o}function g(e){var n=e-u;return void 0===u||n>=t||n<0||p&&e-c>=i}function y(){var e=d();if(g(e))return b(e);l=setTimeout(y,function(e){var n=t-(e-u);return p?j(n,i-(e-c)):n}(e))}function b(e){return l=void 0,h&&r?m(e):(r=a=void 0,o)}function w(){var e=d(),n=g(e);if(r=arguments,a=this,u=e,n){if(void 0===l)return v(u);if(p)return clearTimeout(l),l=setTimeout(y,t),m(u)}return void 0===l&&(l=setTimeout(y,t)),o}return t=C(t)||0,s(n)&&(f=!!n.leading,i=(p="maxWait"in n)?O(C(n.maxWait)||0,t):i,h="trailing"in n?!!n.trailing:h),w.cancel=function(){void 0!==l&&clearTimeout(l),c=0,r=u=a=l=void 0},w.flush=function(){return void 0===l?o:b(d())},w},P=function(e,t,n){var r=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return s(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),N(e,t,{leading:r,maxWait:t,trailing:a})},L=a(590),M=a.n(L),I=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,r){return e[0]===t&&(n=r,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n<r.length;n++){var a=r[n];e.call(t,a[1],a[0])}},t}()}(),R="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,A=void 0!==a.g&&a.g.Math===Math?a.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),D="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(A):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},z=["top","right","bottom","left","width","height","size","weight"],F="undefined"!=typeof MutationObserver,B=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var n=!1,r=!1,a=0;function i(){n&&(n=!1,e()),r&&s()}function o(){D(i)}function s(){var e=Date.now();if(n){if(e-a<2)return;r=!0}else n=!0,r=!1,setTimeout(o,20);a=e}return s}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){R&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),F?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){R&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;z.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),V=function(e,t){for(var n=0,r=Object.keys(t);n<r.length;n++){var a=r[n];Object.defineProperty(e,a,{value:t[a],enumerable:!1,writable:!1,configurable:!0})}return e},U=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||A},H=K(0,0,0,0);function W(e){return parseFloat(e)||0}function G(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){return t+W(e["border-"+n+"-width"])}),0)}var $="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof U(e).SVGGraphicsElement}:function(e){return e instanceof U(e).SVGElement&&"function"==typeof e.getBBox};function q(e){return R?$(e)?function(e){var t=e.getBBox();return K(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return H;var r=U(e).getComputedStyle(e),a=function(e){for(var t={},n=0,r=["top","right","bottom","left"];n<r.length;n++){var a=r[n],i=e["padding-"+a];t[a]=W(i)}return t}(r),i=a.left+a.right,o=a.top+a.bottom,s=W(r.width),l=W(r.height);if("border-box"===r.boxSizing&&(Math.round(s+i)!==t&&(s-=G(r,"left","right")+i),Math.round(l+o)!==n&&(l-=G(r,"top","bottom")+o)),!function(e){return e===U(e).document.documentElement}(e)){var u=Math.round(s+i)-t,c=Math.round(l+o)-n;1!==Math.abs(u)&&(s-=u),1!==Math.abs(c)&&(l-=c)}return K(a.left,a.top,s,l)}(e):H}function K(e,t,n,r){return{x:e,y:t,width:n,height:r}}var Y=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=K(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=q(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),X=function(e,t){var n,r,a,i,o,s,l,u=(r=(n=t).x,a=n.y,i=n.width,o=n.height,s="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,l=Object.create(s.prototype),V(l,{x:r,y:a,width:i,height:o,top:a,right:r+i,bottom:o+a,left:r}),l);V(this,{target:e,contentRect:u})},Q=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new I,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof U(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new Y(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof U(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new X(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),J="undefined"!=typeof WeakMap?new WeakMap:new I,Z=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=B.getInstance(),r=new Q(t,n,this);J.set(this,r)};["observe","unobserve","disconnect"].forEach((function(e){Z.prototype[e]=function(){var t;return(t=J.get(this))[e].apply(t,arguments)}}));var ee=void 0!==A.ResizeObserver?A.ResizeObserver:Z,te=a(37),ne=a(697),re=o().memo((function(e){var t=e.description,n=e.fullscreen,r=e.handleImageLoaded,a=e.isFullscreen,i=e.onImageError,s=e.original,l=e.originalAlt,u=e.originalHeight,c=e.originalWidth,d=e.originalTitle,f=e.sizes,p=e.srcSet,h=e.loading,m=a&&n||s;return o().createElement(o().Fragment,null,o().createElement("img",{className:"image-gallery-image",src:m,alt:l,srcSet:p,height:u,width:c,sizes:f,title:d,onLoad:function(e){return r(e,s)},onError:i,loading:h}),t&&o().createElement("span",{className:"image-gallery-description"},t))}));re.displayName="Item",re.propTypes={description:ne.string,fullscreen:ne.string,handleImageLoaded:ne.func.isRequired,isFullscreen:ne.bool,onImageError:ne.func.isRequired,original:ne.string.isRequired,originalAlt:ne.string,originalHeight:ne.string,originalWidth:ne.string,originalTitle:ne.string,sizes:ne.string,srcSet:ne.string,loading:ne.string},re.defaultProps={description:"",fullscreen:"",isFullscreen:!1,originalAlt:"",originalHeight:"",originalWidth:"",originalTitle:"",sizes:"",srcSet:"",loading:"eager"};var ae=re,ie={left:o().createElement("polyline",{points:"15 18 9 12 15 6"}),right:o().createElement("polyline",{points:"9 18 15 12 9 6"}),maximize:o().createElement("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"}),minimize:o().createElement("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"}),play:o().createElement("polygon",{points:"5 3 19 12 5 21 5 3"}),pause:o().createElement(o().Fragment,null,o().createElement("rect",{x:"6",y:"4",width:"4",height:"16"}),o().createElement("rect",{x:"14",y:"4",width:"4",height:"16"}))},oe=function(e){var t=e.strokeWidth,n=e.viewBox,r=e.icon;return o().createElement("svg",{className:"image-gallery-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:n,fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round"},ie[r])};oe.propTypes={strokeWidth:ne.number,viewBox:ne.string,icon:(0,ne.oneOf)(["left","right","maximize","minimize","play","pause"]).isRequired},oe.defaultProps={strokeWidth:1,viewBox:"0 0 24 24"};var se=oe,le=o().memo((function(e){var t=e.isFullscreen,n=e.onClick;return o().createElement("button",{type:"button",className:"image-gallery-icon image-gallery-fullscreen-button",onClick:n,"aria-label":"Open Fullscreen"},o().createElement(se,{strokeWidth:2,icon:t?"minimize":"maximize"}))}));le.displayName="Fullscreen",le.propTypes={isFullscreen:ne.bool.isRequired,onClick:ne.func.isRequired};var ue=le,ce=o().memo((function(e){var t=e.disabled,n=e.onClick;return o().createElement("button",{type:"button",className:"image-gallery-icon image-gallery-left-nav",disabled:t,onClick:n,"aria-label":"Previous Slide"},o().createElement(se,{icon:"left",viewBox:"6 0 12 24"}))}));ce.displayName="LeftNav",ce.propTypes={disabled:ne.bool.isRequired,onClick:ne.func.isRequired};var de=ce,fe=o().memo((function(e){var t=e.disabled,n=e.onClick;return o().createElement("button",{type:"button",className:"image-gallery-icon image-gallery-right-nav",disabled:t,onClick:n,"aria-label":"Next Slide"},o().createElement(se,{icon:"right",viewBox:"6 0 12 24"}))}));fe.displayName="RightNav",fe.propTypes={disabled:ne.bool.isRequired,onClick:ne.func.isRequired};var pe=fe,he=o().memo((function(e){var t=e.isPlaying,n=e.onClick;return o().createElement("button",{type:"button",className:"image-gallery-icon image-gallery-play-button",onClick:n,"aria-label":"Play or Pause Slideshow"},o().createElement(se,{strokeWidth:2,icon:t?"pause":"play"}))}));he.displayName="PlayPause",he.propTypes={isPlaying:ne.bool.isRequired,onClick:ne.func.isRequired};var me=he;function ve(){return(ve=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var ge=function(e){var t=e.children,n=e.className,r=e.delta,a=e.onSwiping,i=e.onSwiped,s=(0,te.useSwipeable)({delta:r,onSwiping:a,onSwiped:i});return o().createElement("div",ve({},s,{className:n}),t)};ge.propTypes={children:ne.node.isRequired,className:ne.string,delta:ne.number,onSwiped:ne.func,onSwiping:ne.func},ge.defaultProps={className:"",delta:0,onSwiping:function(){},onSwiped:function(){}};var ye=ge;function be(e){return(be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function we(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?we(Object(n),!0).forEach((function(t){Se(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):we(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Se(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ke(e,t){return(ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ee(e,t){return!t||"object"!==be(t)&&"function"!=typeof t?Te(e):t}function Te(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ce(e){return(Ce=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Oe=["fullscreenchange","MSFullscreenChange","mozfullscreenchange","webkitfullscreenchange"],je=(0,ne.arrayOf)((0,ne.shape)({srcSet:ne.string,media:ne.string}));function Ne(e){var t=parseInt(e.keyCode||e.which||0,10);return 66===t||62===t}var Pe=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ke(e,t)}(s,e);var n,r,a,i=(r=s,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Ce(r);if(a){var n=Ce(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Ee(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),(t=i.call(this,e)).state={currentIndex:e.startIndex,thumbsTranslate:0,thumbsSwipedTranslate:0,currentSlideOffset:0,galleryWidth:0,thumbnailsWrapperWidth:0,thumbnailsWrapperHeight:0,thumbsStyle:{transition:"all ".concat(e.slideDuration,"ms ease-out")},isFullscreen:!1,isSwipingThumbnail:!1,isPlaying:!1},t.loadedImages={},t.imageGallery=o().createRef(),t.thumbnailsWrapper=o().createRef(),t.thumbnails=o().createRef(),t.imageGallerySlideWrapper=o().createRef(),t.handleImageLoaded=t.handleImageLoaded.bind(Te(t)),t.handleKeyDown=t.handleKeyDown.bind(Te(t)),t.handleMouseDown=t.handleMouseDown.bind(Te(t)),t.handleResize=t.handleResize.bind(Te(t)),t.handleTouchMove=t.handleTouchMove.bind(Te(t)),t.handleOnSwiped=t.handleOnSwiped.bind(Te(t)),t.handleScreenChange=t.handleScreenChange.bind(Te(t)),t.handleSwiping=t.handleSwiping.bind(Te(t)),t.handleThumbnailSwiping=t.handleThumbnailSwiping.bind(Te(t)),t.handleOnThumbnailSwiped=t.handleOnThumbnailSwiped.bind(Te(t)),t.onThumbnailMouseLeave=t.onThumbnailMouseLeave.bind(Te(t)),t.handleImageError=t.handleImageError.bind(Te(t)),t.pauseOrPlay=t.pauseOrPlay.bind(Te(t)),t.renderThumbInner=t.renderThumbInner.bind(Te(t)),t.renderItem=t.renderItem.bind(Te(t)),t.slideLeft=t.slideLeft.bind(Te(t)),t.slideRight=t.slideRight.bind(Te(t)),t.toggleFullScreen=t.toggleFullScreen.bind(Te(t)),t.togglePlay=t.togglePlay.bind(Te(t)),t.unthrottledSlideToIndex=t.slideToIndex,t.slideToIndex=P(t.unthrottledSlideToIndex,e.slideDuration,{trailing:!1}),e.lazyLoad&&(t.lazyLoaded=[]),t}return(n=[{key:"componentDidMount",value:function(){var e=this.props,t=e.autoPlay,n=e.useWindowKeyDown;t&&this.play(),n?window.addEventListener("keydown",this.handleKeyDown):this.imageGallery.current.addEventListener("keydown",this.handleKeyDown),window.addEventListener("mousedown",this.handleMouseDown),window.addEventListener("touchmove",this.handleTouchMove,{passive:!1}),this.initSlideWrapperResizeObserver(this.imageGallerySlideWrapper),this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper),this.addScreenChangeEvent()}},{key:"componentDidUpdate",value:function(e,t){var n=this.props,r=n.items,a=n.lazyLoad,i=n.slideDuration,o=n.slideInterval,s=n.startIndex,l=n.thumbnailPosition,u=n.showThumbnails,c=n.useWindowKeyDown,d=this.state,f=d.currentIndex,p=d.isPlaying,h=e.items.length!==r.length,m=!M()(e.items,r),v=e.startIndex!==s,g=e.thumbnailPosition!==l,y=e.showThumbnails!==u;o===e.slideInterval&&i===e.slideDuration||p&&(this.pause(),this.play()),g&&(this.removeResizeObserver(),this.initSlideWrapperResizeObserver(this.imageGallerySlideWrapper),this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper)),y&&u&&this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper),y&&!u&&this.removeThumbnailsResizeObserver(),(h||y)&&this.handleResize(),t.currentIndex!==f&&this.slideThumbnailBar(),e.slideDuration!==i&&(this.slideToIndex=P(this.unthrottledSlideToIndex,i,{trailing:!1})),!a||e.lazyLoad&&!m||(this.lazyLoaded=[]),c!==e.useWindowKeyDown&&(c?(this.imageGallery.current.removeEventListener("keydown",this.handleKeyDown),window.addEventListener("keydown",this.handleKeyDown)):(window.removeEventListener("keydown",this.handleKeyDown),this.imageGallery.current.addEventListener("keydown",this.handleKeyDown))),(v||m)&&this.setState({currentIndex:s,slideStyle:{transition:"none"}})}},{key:"componentWillUnmount",value:function(){var e=this.props.useWindowKeyDown;window.removeEventListener("mousedown",this.handleMouseDown),window.removeEventListener("touchmove",this.handleTouchMove),this.removeScreenChangeEvent(),this.removeResizeObserver(),this.playPauseIntervalId&&(window.clearInterval(this.playPauseIntervalId),this.playPauseIntervalId=null),this.transitionTimer&&window.clearTimeout(this.transitionTimer),e?window.removeEventListener("keydown",this.handleKeyDown):this.imageGallery.current.removeEventListener("keydown",this.handleKeyDown)}},{key:"onSliding",value:function(){var e=this,t=this.state,n=t.currentIndex,r=t.isTransitioning,a=this.props,i=a.onSlide,o=a.slideDuration;this.transitionTimer=window.setTimeout((function(){r&&(e.setState({isTransitioning:!r,isSwipingThumbnail:!1}),i&&i(n))}),o+50)}},{key:"onThumbnailClick",value:function(e,t){var n=this.props.onThumbnailClick;e.target.parentNode.parentNode.blur(),this.slideToIndex(t,e),n&&n(e,t)}},{key:"onThumbnailMouseOver",value:function(e,t){var n=this;this.thumbnailMouseOverTimer&&(window.clearTimeout(this.thumbnailMouseOverTimer),this.thumbnailMouseOverTimer=null),this.thumbnailMouseOverTimer=window.setTimeout((function(){n.slideToIndex(t),n.pause()}),300)}},{key:"onThumbnailMouseLeave",value:function(){if(this.thumbnailMouseOverTimer){var e=this.props.autoPlay;window.clearTimeout(this.thumbnailMouseOverTimer),this.thumbnailMouseOverTimer=null,e&&this.play()}}},{key:"setThumbsTranslate",value:function(e){this.setState({thumbsTranslate:e})}},{key:"setModalFullscreen",value:function(e){var t=this.props.onScreenChange;this.setState({modalFullscreen:e}),t&&t(e)}},{key:"getThumbsTranslate",value:function(e){var t,n=this.props,r=n.disableThumbnailScroll,a=n.items,i=this.state,o=i.thumbnailsWrapperWidth,s=i.thumbnailsWrapperHeight,l=this.thumbnails&&this.thumbnails.current;if(r)return 0;if(l){if(this.isThumbnailVertical()){if(l.scrollHeight<=s)return 0;t=l.scrollHeight-s}else{if(l.scrollWidth<=o||o<=0)return 0;t=l.scrollWidth-o}return e*(t/(a.length-1))}return 0}},{key:"getAlignmentClassName",value:function(e){var t=this.state.currentIndex,n=this.props,r=n.infinite,a=n.items,i="",o="left",s="right";switch(e){case t-1:i=" ".concat(o);break;case t:i=" ".concat("center");break;case t+1:i=" ".concat(s)}return a.length>=3&&r&&(0===e&&t===a.length-1?i=" ".concat(s):e===a.length-1&&0===t&&(i=" ".concat(o))),i}},{key:"getTranslateXForTwoSlide",value:function(e){var t=this.state,n=t.currentIndex,r=t.currentSlideOffset,a=t.previousIndex,i=n!==a,o=0===e&&0===a,s=1===e&&1===a,l=0===e&&1===n,u=1===e&&0===n,c=0===r,d=-100*n+100*e+r;return r>0?this.direction="left":r<0&&(this.direction="right"),u&&r>0&&(d=-100+r),l&&r<0&&(d=100+r),i?o&&c&&"left"===this.direction?d=100:s&&c&&"right"===this.direction&&(d=-100):(u&&c&&"left"===this.direction&&(d=-100),l&&c&&"right"===this.direction&&(d=100)),d}},{key:"getThumbnailBarHeight",value:function(){return this.isThumbnailVertical()?{height:this.state.gallerySlideWrapperHeight}:{}}},{key:"getSlideStyle",value:function(e){var t=this.state,n=t.currentIndex,r=t.currentSlideOffset,a=t.slideStyle,i=this.props,o=i.infinite,s=i.items,l=i.useTranslate3D,u=i.isRTL,c=-100*n,d=s.length-1,f=(c+100*e)*(u?-1:1)+r;o&&s.length>2&&(0===n&&e===d?f=-100*(u?-1:1)+r:n===d&&0===e&&(f=100*(u?-1:1)+r)),o&&2===s.length&&(f=this.getTranslateXForTwoSlide(e));var p="translate(".concat(f,"%, 0)");return l&&(p="translate3d(".concat(f,"%, 0, 0)")),xe({display:this.isSlideVisible(e)?"inherit":"none",WebkitTransform:p,MozTransform:p,msTransform:p,OTransform:p,transform:p},a)}},{key:"getCurrentIndex",value:function(){return this.state.currentIndex}},{key:"getThumbnailStyle",value:function(){var e,t=this.props,n=t.useTranslate3D,r=t.isRTL,a=this.state,i=a.thumbsTranslate,o=a.thumbsStyle,s=r?-1*i:i;return this.isThumbnailVertical()?(e="translate(0, ".concat(i,"px)"),n&&(e="translate3d(0, ".concat(i,"px, 0)"))):(e="translate(".concat(s,"px, 0)"),n&&(e="translate3d(".concat(s,"px, 0, 0)"))),xe({WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e},o)}},{key:"getSlideItems",value:function(){var e=this,n=this.state.currentIndex,r=this.props,a=r.items,i=r.slideOnThumbnailOver,s=r.onClick,l=r.lazyLoad,u=r.onTouchMove,c=r.onTouchEnd,d=r.onTouchStart,f=r.onMouseOver,p=r.onMouseLeave,h=r.renderItem,m=r.renderThumbInner,v=r.showThumbnails,g=r.showBullets,y=[],b=[],w=[];return a.forEach((function(r,a){var x=e.getAlignmentClassName(a),S=r.originalClass?" ".concat(r.originalClass):"",_=r.thumbnailClass?" ".concat(r.thumbnailClass):"",k=r.renderItem||h||e.renderItem,E=r.renderThumbInner||m||e.renderThumbInner,T=!l||x||e.lazyLoaded[a];T&&l&&!e.lazyLoaded[a]&&(e.lazyLoaded[a]=!0);var C=e.getSlideStyle(a),O=o().createElement("div",{"aria-label":"Go to Slide ".concat(a+1),key:"slide-".concat(a),tabIndex:"-1",className:"image-gallery-slide ".concat(x," ").concat(S),style:C,onClick:s,onKeyUp:e.handleSlideKeyUp,onTouchMove:u,onTouchEnd:c,onTouchStart:d,onMouseOver:f,onFocus:f,onMouseLeave:p,role:"button"},T?k(r):o().createElement("div",{style:{height:"100%"}}));if(y.push(O),v&&r.thumbnail){var j=t("image-gallery-thumbnail",_,{active:n===a});b.push(o().createElement("button",{key:"thumbnail-".concat(a),type:"button",tabIndex:"0","aria-pressed":n===a?"true":"false","aria-label":"Go to Slide ".concat(a+1),className:j,onMouseLeave:i?e.onThumbnailMouseLeave:null,onMouseOver:function(t){return e.handleThumbnailMouseOver(t,a)},onFocus:function(t){return e.handleThumbnailMouseOver(t,a)},onKeyUp:function(t){return e.handleThumbnailKeyUp(t,a)},onClick:function(t){return e.onThumbnailClick(t,a)}},E(r)))}if(g){var N=t("image-gallery-bullet",r.bulletClass,{active:n===a});w.push(o().createElement("button",{type:"button",key:"bullet-".concat(a),className:N,onClick:function(t){return r.bulletOnClick&&r.bulletOnClick({item:r,itemIndex:a,currentIndex:n}),t.target.blur(),e.slideToIndex.call(e,a,t)},"aria-pressed":n===a?"true":"false","aria-label":"Go to Slide ".concat(a+1)}))}})),{slides:y,thumbnails:b,bullets:w}}},{key:"ignoreIsTransitioning",value:function(){var e=this.props.items,t=this.state,n=t.previousIndex,r=t.currentIndex,a=e.length-1;return Math.abs(n-r)>1&&!(0===n&&r===a)&&!(n===a&&0===r)}},{key:"isFirstOrLastSlide",value:function(e){return e===this.props.items.length-1||0===e}},{key:"slideIsTransitioning",value:function(e){var t=this.state,n=t.isTransitioning,r=t.previousIndex,a=t.currentIndex;return n&&!(e===r||e===a)}},{key:"isSlideVisible",value:function(e){return!this.slideIsTransitioning(e)||this.ignoreIsTransitioning()&&!this.isFirstOrLastSlide(e)}},{key:"slideThumbnailBar",value:function(){var e=this.state,t=e.currentIndex,n=e.isSwipingThumbnail,r=-this.getThumbsTranslate(t);n||(0===t?this.setState({thumbsTranslate:0,thumbsSwipedTranslate:0}):this.setState({thumbsTranslate:r,thumbsSwipedTranslate:r}))}},{key:"canSlide",value:function(){return this.props.items.length>=2}},{key:"canSlideLeft",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlideNext():this.canSlidePrevious())}},{key:"canSlideRight",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlidePrevious():this.canSlideNext())}},{key:"canSlidePrevious",value:function(){return this.state.currentIndex>0}},{key:"canSlideNext",value:function(){return this.state.currentIndex<this.props.items.length-1}},{key:"handleSwiping",value:function(e){var t=e.event,n=e.absX,r=e.dir,a=this.props,i=a.disableSwipe,o=a.stopPropagation,s=this.state,l=s.galleryWidth,u=s.isTransitioning,c=s.swipingUpDown,d=s.swipingLeftRight;if(r!==te.UP&&r!==te.DOWN&&!c||d){if(r!==te.LEFT&&r!==te.RIGHT||d||this.setState({swipingLeftRight:!0}),!i){var f=this.props.swipingTransitionDuration;if(o&&t.preventDefault(),u)this.setState({currentSlideOffset:0});else{var p=r===te.RIGHT?1:-1,h=n/l*100;Math.abs(h)>=100&&(h=100);var m={transition:"transform ".concat(f,"ms ease-out")};this.setState({currentSlideOffset:p*h,slideStyle:m})}}}else c||this.setState({swipingUpDown:!0})}},{key:"handleThumbnailSwiping",value:function(e){var t=e.event,n=e.absX,r=e.absY,a=e.dir,i=this.props,o=i.stopPropagation,s=i.swipingThumbnailTransitionDuration,l=this.state,u=l.thumbsSwipedTranslate,c=l.thumbnailsWrapperHeight,d=l.thumbnailsWrapperWidth,f=l.swipingUpDown,p=l.swipingLeftRight;if(this.isThumbnailVertical()){if((a===te.LEFT||a===te.RIGHT||p)&&!f)return void(p||this.setState({swipingLeftRight:!0}));a!==te.UP&&a!==te.DOWN||f||this.setState({swipingUpDown:!0})}else{if((a===te.UP||a===te.DOWN||f)&&!p)return void(f||this.setState({swipingUpDown:!0}));a!==te.LEFT&&a!==te.RIGHT||p||this.setState({swipingLeftRight:!0})}var h,m,v,g,y,b=this.thumbnails&&this.thumbnails.current;if(this.isThumbnailVertical()?(h=u+(a===te.DOWN?r:-r),m=b.scrollHeight-c+20,v=Math.abs(h)>m,g=h>20,y=b.scrollHeight<=c):(h=u+(a===te.RIGHT?n:-n),m=b.scrollWidth-d+20,v=Math.abs(h)>m,g=h>20,y=b.scrollWidth<=d),!y&&(a!==te.LEFT&&a!==te.UP||!v)&&(a!==te.RIGHT&&a!==te.DOWN||!g)){o&&t.stopPropagation();var w={transition:"transform ".concat(s,"ms ease-out")};this.setState({thumbsTranslate:h,thumbsStyle:w})}}},{key:"handleOnThumbnailSwiped",value:function(){var e=this.state.thumbsTranslate,t=this.props.slideDuration;this.resetSwipingDirection(),this.setState({isSwipingThumbnail:!0,thumbsSwipedTranslate:e,thumbsStyle:{transition:"all ".concat(t,"ms ease-out")}})}},{key:"sufficientSwipe",value:function(){var e=this.state.currentSlideOffset,t=this.props.swipeThreshold;return Math.abs(e)>t}},{key:"resetSwipingDirection",value:function(){var e=this.state,t=e.swipingUpDown,n=e.swipingLeftRight;t&&this.setState({swipingUpDown:!1}),n&&this.setState({swipingLeftRight:!1})}},{key:"handleOnSwiped",value:function(e){var t=e.event,n=e.dir,r=e.velocity,a=this.props,i=a.disableSwipe,o=a.stopPropagation,s=a.flickThreshold;if(!i){var l=this.props.isRTL;o&&t.stopPropagation(),this.resetSwipingDirection();var u=(n===te.LEFT?1:-1)*(l?-1:1),c=n===te.UP||n===te.DOWN,d=r>s&&!c;this.handleOnSwipedTo(u,d)}}},{key:"handleOnSwipedTo",value:function(e,t){var n=this.state,r=n.currentIndex,a=n.isTransitioning,i=r;!this.sufficientSwipe()&&!t||a||(i+=e),(-1===e&&!this.canSlideLeft()||1===e&&!this.canSlideRight())&&(i=r),this.unthrottledSlideToIndex(i)}},{key:"handleTouchMove",value:function(e){this.state.swipingLeftRight&&e.preventDefault()}},{key:"handleMouseDown",value:function(){this.imageGallery.current.classList.add("image-gallery-using-mouse")}},{key:"handleKeyDown",value:function(e){var t=this.props,n=t.disableKeyDown,r=t.useBrowserFullscreen,a=this.state.isFullscreen;if(this.imageGallery.current.classList.remove("image-gallery-using-mouse"),!n)switch(parseInt(e.keyCode||e.which||0,10)){case 37:this.canSlideLeft()&&!this.playPauseIntervalId&&this.slideLeft(e);break;case 39:this.canSlideRight()&&!this.playPauseIntervalId&&this.slideRight(e);break;case 27:a&&!r&&this.exitFullScreen()}}},{key:"handleImageError",value:function(e){var t=this.props.onErrorImageURL;t&&-1===e.target.src.indexOf(t)&&(e.target.src=t)}},{key:"removeThumbnailsResizeObserver",value:function(){this.resizeThumbnailWrapperObserver&&this.thumbnailsWrapper&&this.thumbnailsWrapper.current&&(this.resizeThumbnailWrapperObserver.unobserve(this.thumbnailsWrapper.current),this.resizeThumbnailWrapperObserver=null)}},{key:"removeResizeObserver",value:function(){this.resizeSlideWrapperObserver&&this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&(this.resizeSlideWrapperObserver.unobserve(this.imageGallerySlideWrapper.current),this.resizeSlideWrapperObserver=null),this.removeThumbnailsResizeObserver()}},{key:"handleResize",value:function(){var e=this.state.currentIndex;this.imageGallery&&(this.imageGallery&&this.imageGallery.current&&this.setState({galleryWidth:this.imageGallery.current.offsetWidth}),this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&this.setState({gallerySlideWrapperHeight:this.imageGallerySlideWrapper.current.offsetHeight}),this.setThumbsTranslate(-this.getThumbsTranslate(e)))}},{key:"initSlideWrapperResizeObserver",value:function(e){var t=this;e&&!e.current||(this.resizeSlideWrapperObserver=new ee(N((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperWidth:e.contentRect.width},t.handleResize)}))}),50)),this.resizeSlideWrapperObserver.observe(e.current))}},{key:"initThumbnailWrapperResizeObserver",value:function(e){var t=this;e&&!e.current||(this.resizeThumbnailWrapperObserver=new ee(N((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperHeight:e.contentRect.height},t.handleResize)}))}),50)),this.resizeThumbnailWrapperObserver.observe(e.current))}},{key:"toggleFullScreen",value:function(){this.state.isFullscreen?this.exitFullScreen():this.fullScreen()}},{key:"togglePlay",value:function(){this.playPauseIntervalId?this.pause():this.play()}},{key:"handleScreenChange",value:function(){var e=this.props,t=e.onScreenChange,n=e.useBrowserFullscreen,r=document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement,a=this.imageGallery.current===r;t&&t(a),n&&this.setState({isFullscreen:a})}},{key:"slideToIndex",value:function(e,t){var n=this.state,r=n.currentIndex,a=n.isTransitioning,i=this.props,o=i.items,s=i.slideDuration,l=i.onBeforeSlide;if(!a){t&&this.playPauseIntervalId&&(this.pause(!1),this.play(!1));var u=o.length-1,c=e;e<0?c=u:e>u&&(c=0),l&&c!==r&&l(c),this.setState({previousIndex:r,currentIndex:c,isTransitioning:c!==r,currentSlideOffset:0,slideStyle:{transition:"all ".concat(s,"ms ease-out")}},this.onSliding)}}},{key:"slideLeft",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?"right":"left")}},{key:"slideRight",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?"left":"right")}},{key:"slideTo",value:function(e,t){var n=this,r=this.state,a=r.currentIndex,i=r.currentSlideOffset,o=r.isTransitioning,s=this.props.items,l=a+("left"===t?-1:1);o||(2===s.length?this.setState({currentSlideOffset:i+("left"===t?.001:-.001),slideStyle:{transition:"none"}},(function(){window.setTimeout((function(){return n.slideToIndex(l,e)}),25)})):this.slideToIndex(l,e))}},{key:"handleThumbnailMouseOver",value:function(e,t){this.props.slideOnThumbnailOver&&this.onThumbnailMouseOver(e,t)}},{key:"handleThumbnailKeyUp",value:function(e,t){Ne(e)&&this.onThumbnailClick(e,t)}},{key:"handleSlideKeyUp",value:function(e){Ne(e)&&(0,this.props.onClick)(e)}},{key:"isThumbnailVertical",value:function(){var e=this.props.thumbnailPosition;return"left"===e||"right"===e}},{key:"addScreenChangeEvent",value:function(){var e=this;Oe.forEach((function(t){document.addEventListener(t,e.handleScreenChange)}))}},{key:"removeScreenChangeEvent",value:function(){var e=this;Oe.forEach((function(t){document.removeEventListener(t,e.handleScreenChange)}))}},{key:"fullScreen",value:function(){var e=this.props.useBrowserFullscreen,t=this.imageGallery.current;e?t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():this.setModalFullscreen(!0):this.setModalFullscreen(!0),this.setState({isFullscreen:!0})}},{key:"exitFullScreen",value:function(){var e=this.state.isFullscreen,t=this.props.useBrowserFullscreen;e&&(t?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():this.setModalFullscreen(!1):this.setModalFullscreen(!1),this.setState({isFullscreen:!1}))}},{key:"pauseOrPlay",value:function(){var e=this.props.infinite,t=this.state.currentIndex;e||this.canSlideRight()?this.slideToIndex(t+1):this.pause()}},{key:"play",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props,n=t.onPlay,r=t.slideInterval,a=t.slideDuration,i=this.state.currentIndex;this.playPauseIntervalId||(this.setState({isPlaying:!0}),this.playPauseIntervalId=window.setInterval(this.pauseOrPlay,Math.max(r,a)),n&&e&&n(i))}},{key:"pause",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props.onPause,n=this.state.currentIndex;this.playPauseIntervalId&&(window.clearInterval(this.playPauseIntervalId),this.playPauseIntervalId=null,this.setState({isPlaying:!1}),t&&e&&t(n))}},{key:"isImageLoaded",value:function(e){return!!this.loadedImages[e.original]||(this.loadedImages[e.original]=!0,!1)}},{key:"handleImageLoaded",value:function(e,t){var n=this.props.onImageLoad;!this.loadedImages[t]&&n&&(this.loadedImages[t]=!0,n(e))}},{key:"renderItem",value:function(e){var t=this.state.isFullscreen,n=this.props.onImageError||this.handleImageError;return o().createElement(ae,{description:e.description,fullscreen:e.fullscreen,handleImageLoaded:this.handleImageLoaded,isFullscreen:t,onImageError:n,original:e.original,originalAlt:e.originalAlt,originalHeight:e.originalHeight,originalWidth:e.originalWidth,originalTitle:e.originalTitle,sizes:e.sizes,loading:e.loading,srcSet:e.srcSet})}},{key:"renderThumbInner",value:function(e){var t=this.props.onThumbnailError||this.handleImageError;return o().createElement("span",{className:"image-gallery-thumbnail-inner"},o().createElement("img",{className:"image-gallery-thumbnail-image",src:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth,alt:e.thumbnailAlt,title:e.thumbnailTitle,loading:e.thumbnailLoading,onError:t}),e.thumbnailLabel&&o().createElement("div",{className:"image-gallery-thumbnail-label"},e.thumbnailLabel))}},{key:"render",value:function(){var e=this.state,n=e.currentIndex,r=e.isFullscreen,a=e.modalFullscreen,i=e.isPlaying,s=this.props,l=s.additionalClass,u=s.disableThumbnailSwipe,c=s.indexSeparator,d=s.isRTL,f=s.items,p=s.thumbnailPosition,h=s.renderFullscreenButton,m=s.renderCustomControls,v=s.renderLeftNav,g=s.renderRightNav,y=s.showBullets,b=s.showFullscreenButton,w=s.showIndex,x=s.showThumbnails,S=s.showNav,_=s.showPlayButton,k=s.renderPlayPauseButton,E=this.getThumbnailStyle(),T=this.getSlideItems(),C=T.slides,O=T.thumbnails,j=T.bullets,N=t("image-gallery-slide-wrapper",p,{"image-gallery-rtl":d}),P=o().createElement("div",{ref:this.imageGallerySlideWrapper,className:N},m&&m(),this.canSlide()?o().createElement(o().Fragment,null,S&&o().createElement(o().Fragment,null,v(this.slideLeft,!this.canSlideLeft()),g(this.slideRight,!this.canSlideRight())),o().createElement(ye,{className:"image-gallery-swipe",delta:0,onSwiping:this.handleSwiping,onSwiped:this.handleOnSwiped},o().createElement("div",{className:"image-gallery-slides"},C))):o().createElement("div",{className:"image-gallery-slides"},C),_&&k(this.togglePlay,i),y&&o().createElement("div",{className:"image-gallery-bullets"},o().createElement("div",{className:"image-gallery-bullets-container",role:"navigation","aria-label":"Bullet Navigation"},j)),b&&h(this.toggleFullScreen,r),w&&o().createElement("div",{className:"image-gallery-index"},o().createElement("span",{className:"image-gallery-index-current"},n+1),o().createElement("span",{className:"image-gallery-index-separator"},c),o().createElement("span",{className:"image-gallery-index-total"},f.length))),L=t("image-gallery",l,{"fullscreen-modal":a}),M=t("image-gallery-content",p,{fullscreen:r}),I=t("image-gallery-thumbnails-wrapper",p,{"thumbnails-wrapper-rtl":!this.isThumbnailVertical()&&d},{"thumbnails-swipe-horizontal":!this.isThumbnailVertical()&&!u},{"thumbnails-swipe-vertical":this.isThumbnailVertical()&&!u});return o().createElement("div",{ref:this.imageGallery,className:L,"aria-live":"polite"},o().createElement("div",{className:M},("bottom"===p||"right"===p)&&P,x&&O.length>0?o().createElement(ye,{className:I,delta:0,onSwiping:!u&&this.handleThumbnailSwiping,onSwiped:!u&&this.handleOnThumbnailSwiped},o().createElement("div",{className:"image-gallery-thumbnails",ref:this.thumbnailsWrapper,style:this.getThumbnailBarHeight()},o().createElement("nav",{ref:this.thumbnails,className:"image-gallery-thumbnails-container",style:E,"aria-label":"Thumbnail Navigation"},O))):null,("top"===p||"left"===p)&&P))}}])&&_e(s.prototype,n),s}(o().Component);Pe.propTypes={flickThreshold:ne.number,items:(0,ne.arrayOf)((0,ne.shape)({bulletClass:ne.string,bulletOnClick:ne.func,description:ne.string,original:ne.string,originalHeight:ne.number,originalWidth:ne.number,loading:ne.string,thumbnailHeight:ne.number,thumbnailWidth:ne.number,thumbnailLoading:ne.string,fullscreen:ne.string,originalAlt:ne.string,originalTitle:ne.string,thumbnail:ne.string,thumbnailAlt:ne.string,thumbnailLabel:ne.string,thumbnailTitle:ne.string,originalClass:ne.string,thumbnailClass:ne.string,renderItem:ne.func,renderThumbInner:ne.func,imageSet:je,srcSet:ne.string,sizes:ne.string})).isRequired,showNav:ne.bool,autoPlay:ne.bool,lazyLoad:ne.bool,infinite:ne.bool,showIndex:ne.bool,showBullets:ne.bool,showThumbnails:ne.bool,showPlayButton:ne.bool,showFullscreenButton:ne.bool,disableThumbnailScroll:ne.bool,disableKeyDown:ne.bool,disableSwipe:ne.bool,disableThumbnailSwipe:ne.bool,useBrowserFullscreen:ne.bool,onErrorImageURL:ne.string,indexSeparator:ne.string,thumbnailPosition:(0,ne.oneOf)(["top","bottom","left","right"]),startIndex:ne.number,slideDuration:ne.number,slideInterval:ne.number,slideOnThumbnailOver:ne.bool,swipeThreshold:ne.number,swipingTransitionDuration:ne.number,swipingThumbnailTransitionDuration:ne.number,onSlide:ne.func,onBeforeSlide:ne.func,onScreenChange:ne.func,onPause:ne.func,onPlay:ne.func,onClick:ne.func,onImageLoad:ne.func,onImageError:ne.func,onTouchMove:ne.func,onTouchEnd:ne.func,onTouchStart:ne.func,onMouseOver:ne.func,onMouseLeave:ne.func,onThumbnailError:ne.func,onThumbnailClick:ne.func,renderCustomControls:ne.func,renderLeftNav:ne.func,renderRightNav:ne.func,renderPlayPauseButton:ne.func,renderFullscreenButton:ne.func,renderItem:ne.func,renderThumbInner:ne.func,stopPropagation:ne.bool,additionalClass:ne.string,useTranslate3D:ne.bool,isRTL:ne.bool,useWindowKeyDown:ne.bool},Pe.defaultProps={onErrorImageURL:"",additionalClass:"",showNav:!0,autoPlay:!1,lazyLoad:!1,infinite:!0,showIndex:!1,showBullets:!1,showThumbnails:!0,showPlayButton:!0,showFullscreenButton:!0,disableThumbnailScroll:!1,disableKeyDown:!1,disableSwipe:!1,disableThumbnailSwipe:!1,useTranslate3D:!0,isRTL:!1,useBrowserFullscreen:!0,flickThreshold:.4,stopPropagation:!1,indexSeparator:" / ",thumbnailPosition:"bottom",startIndex:0,slideDuration:450,swipingTransitionDuration:0,swipingThumbnailTransitionDuration:0,onSlide:null,onBeforeSlide:null,onScreenChange:null,onPause:null,onPlay:null,onClick:null,onImageLoad:null,onImageError:null,onTouchMove:null,onTouchEnd:null,onTouchStart:null,onMouseOver:null,onMouseLeave:null,onThumbnailError:null,onThumbnailClick:null,renderCustomControls:null,renderThumbInner:null,renderItem:null,slideInterval:3e3,slideOnThumbnailOver:!1,swipeThreshold:30,renderLeftNav:function(e,t){return o().createElement(de,{onClick:e,disabled:t})},renderRightNav:function(e,t){return o().createElement(pe,{onClick:e,disabled:t})},renderPlayPauseButton:function(e,t){return o().createElement(me,{onClick:e,isPlaying:t})},renderFullscreenButton:function(e,t){return o().createElement(ue,{onClick:e,isFullscreen:t})},useWindowKeyDown:!0};var Le=Pe}(),i}()}(n(791))},372:function(e,t){"use strict";var n=60103,r=60106,a=60107,i=60108,o=60114,s=60109,l=60110,u=60112,c=60113,d=60120,f=60115,p=60116,h=60121,m=60122,v=60117,g=60129,y=60131;if("function"===typeof Symbol&&Symbol.for){var b=Symbol.for;n=b("react.element"),r=b("react.portal"),a=b("react.fragment"),i=b("react.strict_mode"),o=b("react.profiler"),s=b("react.provider"),l=b("react.context"),u=b("react.forward_ref"),c=b("react.suspense"),d=b("react.suspense_list"),f=b("react.memo"),p=b("react.lazy"),h=b("react.block"),m=b("react.server.block"),v=b("react.fundamental"),g=b("react.debug_trace_mode"),y=b("react.legacy_hidden")}function w(e){if("object"===typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case o:case i:case c:case d:return e;default:switch(e=e&&e.$$typeof){case l:case u:case p:case f:case s:return e;default:return t}}case r:return t}}}t.isValidElementType=function(e){return"string"===typeof e||"function"===typeof e||e===a||e===o||e===g||e===i||e===c||e===d||e===y||"object"===typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===s||e.$$typeof===l||e.$$typeof===u||e.$$typeof===v||e.$$typeof===h||e[0]===m)},t.typeOf=w},441:function(e,t,n){"use strict";e.exports=n(372)},87:function(e,t,n){!function(){var t={296:function(e,t,n){var r=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,s=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,u="object"==typeof self&&self&&self.Object===Object&&self,c=l||u||Function("return this")(),d=Object.prototype.toString,f=Math.max,p=Math.min,h=function(){return c.Date.now()};function m(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(m(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=m(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=i.test(e);return n||o.test(e)?s(e.slice(2),n?2:8):a.test(e)?NaN:+e}e.exports=function(e,t,n){var r,a,i,o,s,l,u=0,c=!1,d=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,i=a;return r=a=void 0,u=t,o=e.apply(i,n)}function b(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=i}function w(){var e=h();if(b(e))return x(e);s=setTimeout(w,function(e){var n=t-(e-l);return d?p(n,i-(e-u)):n}(e))}function x(e){return s=void 0,g&&r?y(e):(r=a=void 0,o)}function S(){var e=h(),n=b(e);if(r=arguments,a=this,l=e,n){if(void 0===s)return function(e){return u=e,s=setTimeout(w,t),c?y(e):o}(l);if(d)return s=setTimeout(w,t),y(l)}return void 0===s&&(s=setTimeout(w,t)),o}return t=v(t)||0,m(n)&&(c=!!n.leading,i=(d="maxWait"in n)?f(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),S.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=a=s=void 0},S.flush=function(){return void 0===s?o:x(h())},S}},96:function(e,t,n){var r="Expected a function",a=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=u||c||Function("return this")(),f=Object.prototype.toString,p=Math.max,h=Math.min,m=function(){return d.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=o.test(e);return n||s.test(e)?l(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var a=!0,i=!0;if("function"!=typeof e)throw new TypeError(r);return v(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),function(e,t,n){var a,i,o,s,l,u,c=0,d=!1,f=!1,y=!0;if("function"!=typeof e)throw new TypeError(r);function b(t){var n=a,r=i;return a=i=void 0,c=t,s=e.apply(r,n)}function w(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-c>=o}function x(){var e=m();if(w(e))return S(e);l=setTimeout(x,function(e){var n=t-(e-u);return f?h(n,o-(e-c)):n}(e))}function S(e){return l=void 0,y&&a?b(e):(a=i=void 0,s)}function _(){var e=m(),n=w(e);if(a=arguments,i=this,u=e,n){if(void 0===l)return function(e){return c=e,l=setTimeout(x,t),d?b(e):s}(u);if(f)return l=setTimeout(x,t),b(u)}return void 0===l&&(l=setTimeout(x,t)),s}return t=g(t)||0,v(n)&&(d=!!n.leading,o=(f="maxWait"in n)?p(g(n.maxWait)||0,t):o,y="trailing"in n?!!n.trailing:y),_.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=u=i=l=void 0},_.flush=function(){return void 0===l?s:S(m())},_}(e,t,{leading:a,maxWait:t,trailing:i})}},703:function(e,t,n){"use strict";var r=n(414);function a(){}function i(){}i.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,i,o){if(o!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:a};return n.PropTypes=n,n}},697:function(e,t,n){e.exports=n(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},r={};function a(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}};return t[e](i,i.exports,a),i.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};(function(){"use strict";a.r(i),a.d(i,{LazyLoadComponent:function(){return G},LazyLoadImage:function(){return te},trackWindowScroll:function(){return I}});var e=n(791),t=a.n(e),r=a(697),o=n(164),s=a.n(o);function l(){return"undefined"!=typeof window&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){if(t&&("object"===u(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(e){e.forEach((function(e){e.isIntersecting&&e.target.onVisible()}))},v={},g=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(o,e);var n,r,a,i=(r=o,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=h(r);if(a){var n=h(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return p(this,e)});function o(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(t=i.call(this,e)).supportsObserver=!e.scrollPosition&&e.useIntersectionObserver&&l(),t.supportsObserver){var n=e.threshold;t.observer=function(e){return v[e]=v[e]||new IntersectionObserver(m,{rootMargin:e+"px"}),v[e]}(n)}return t}return(n=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.scrollPosition,t=this.placeholder.getBoundingClientRect(),n=s().findDOMNode(this.placeholder).style,r=parseInt(n.getPropertyValue("margin-left"),10)||0,a=parseInt(n.getPropertyValue("margin-top"),10)||0;return{bottom:e.y+t.bottom+a,left:e.x+t.left+r,right:e.x+t.right+r,top:e.y+t.top+a}}},{key:"isPlaceholderInViewport",value:function(){if("undefined"==typeof window||!this.placeholder)return!1;var e=this.props,t=e.scrollPosition,n=e.threshold,r=this.getPlaceholderBoundingBox(t),a=t.y+window.innerHeight,i=t.x,o=t.x+window.innerWidth,s=t.y;return Boolean(s-n<=r.bottom&&a+n>=r.top&&i-n<=r.right&&o+n>=r.left)}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var e=this,n=this.props,r=n.className,a=n.height,i=n.placeholder,o=n.style,s=n.width;if(i&&"function"!=typeof i.type)return t().cloneElement(i,{ref:function(t){return e.placeholder=t}});var l=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({display:"inline-block"},o);return void 0!==s&&(l.width=s),void 0!==a&&(l.height=a),t().createElement("span",{className:r,ref:function(t){return e.placeholder=t},style:l},i)}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,n),o}(t().Component);g.propTypes={onVisible:r.PropTypes.func.isRequired,className:r.PropTypes.string,height:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string]),placeholder:r.PropTypes.element,threshold:r.PropTypes.number,useIntersectionObserver:r.PropTypes.bool,scrollPosition:r.PropTypes.shape({x:r.PropTypes.number.isRequired,y:r.PropTypes.number.isRequired}),width:r.PropTypes.oneOfType([r.PropTypes.number,r.PropTypes.string])},g.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};var y=g,b=a(296),w=a.n(b),x=a(96),S=a.n(x),_=function(e){var t=getComputedStyle(e,null);return t.getPropertyValue("overflow")+t.getPropertyValue("overflow-y")+t.getPropertyValue("overflow-x")},k=function(e){if(!(e instanceof HTMLElement))return window;for(var t=e;t&&t instanceof HTMLElement;){if(/(scroll|auto)/.test(_(t)))return t;t=t.parentNode}return window};function E(e){return(E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var T=["delayMethod","delayTime"];function C(){return(C=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function O(e,t){return(O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function j(e,t){if(t&&("object"===E(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return N(e)}function N(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function P(e){return(P=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var L=function(){return"undefined"==typeof window?0:window.scrollX||window.pageXOffset},M=function(){return"undefined"==typeof window?0:window.scrollY||window.pageYOffset},I=function(e){var n=function(n){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}(u,n);var r,a,i,o=(a=u,i=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=P(a);if(i){var n=P(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return j(this,e)});function u(e){var n;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),(n=o.call(this,e)).useIntersectionObserver=e.useIntersectionObserver&&l(),n.useIntersectionObserver)return j(n);var r=n.onChangeScroll.bind(N(n));return"debounce"===e.delayMethod?n.delayedScroll=w()(r,e.delayTime):"throttle"===e.delayMethod&&(n.delayedScroll=S()(r,e.delayTime)),n.state={scrollPosition:{x:L(),y:M()}},n.baseComponentRef=t().createRef(),n}return(r=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){"undefined"==typeof window||this.useIntersectionObserver||k(s().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){"undefined"==typeof window||this.useIntersectionObserver||(this.scrollElement=k(s().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){"undefined"==typeof window||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:L(),y:M()}})}},{key:"render",value:function(){var n=this.props,r=(n.delayMethod,n.delayTime,function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(n,T)),a=this.useIntersectionObserver?null:this.state.scrollPosition;return t().createElement(e,C({forwardRef:this.baseComponentRef,scrollPosition:a},r))}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(u.prototype,r),u}(t().Component);return n.propTypes={delayMethod:r.PropTypes.oneOf(["debounce","throttle"]),delayTime:r.PropTypes.number,useIntersectionObserver:r.PropTypes.bool},n.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},n};function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var z=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&A(e,t)}(o,e);var n,r,a,i=(r=o,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=D(r);if(a){var n=D(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===R(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function o(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),i.call(this,e)}return(n=[{key:"render",value:function(){return t().createElement(y,this.props)}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,n),o}(t().Component),F=I(z);function B(e){return(B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function V(e,t){return(V=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function U(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function H(e){return(H=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var W=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&V(e,t)}(o,e);var n,r,a,i=(r=o,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=H(r);if(a){var n=H(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===B(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return U(e)}(this,e)});function o(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),t=i.call(this,e);var n=e.afterLoad,r=e.beforeLoad,a=e.scrollPosition,s=e.visibleByDefault;return t.state={visible:s},s&&(r(),n()),t.onVisible=t.onVisible.bind(U(t)),t.isScrollTracked=Boolean(a&&Number.isFinite(a.x)&&a.x>=0&&Number.isFinite(a.y)&&a.y>=0),t}return(n=[{key:"componentDidUpdate",value:function(e,t){t.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var e=this.props,n=e.className,r=e.delayMethod,a=e.delayTime,i=e.height,o=e.placeholder,s=e.scrollPosition,u=e.style,c=e.threshold,d=e.useIntersectionObserver,f=e.width;return this.isScrollTracked||d&&l()?t().createElement(y,{className:n,height:i,onVisible:this.onVisible,placeholder:o,scrollPosition:s,style:u,threshold:c,useIntersectionObserver:d,width:f}):t().createElement(F,{className:n,delayMethod:r,delayTime:a,height:i,onVisible:this.onVisible,placeholder:o,style:u,threshold:c,width:f})}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,n),o}(t().Component);W.propTypes={afterLoad:r.PropTypes.func,beforeLoad:r.PropTypes.func,useIntersectionObserver:r.PropTypes.bool,visibleByDefault:r.PropTypes.bool},W.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};var G=W;function $(e){return($="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var q=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){X(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function X(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(){return(Q=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){return(Z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ee=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&J(e,t)}(o,e);var n,r,a,i=(r=o,a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Z(r);if(a){var n=Z(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return function(e,t){if(t&&("object"===$(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,e)});function o(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(t=i.call(this,e)).state={loaded:!1},t}return(n=[{key:"onImageLoad",value:function(){var e=this;return this.state.loaded?null:function(){e.props.afterLoad(),e.setState({loaded:!0})}}},{key:"getImg",value:function(){var e=this.props,n=(e.afterLoad,e.beforeLoad,e.delayMethod,e.delayTime,e.effect,e.placeholder,e.placeholderSrc,e.scrollPosition,e.threshold,e.useIntersectionObserver,e.visibleByDefault,e.wrapperClassName,e.wrapperProps,function(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}(e,q));return t().createElement("img",Q({onLoad:this.onImageLoad()},n))}},{key:"getLazyLoadImage",value:function(){var e=this.props,n=e.beforeLoad,r=e.className,a=e.delayMethod,i=e.delayTime,o=e.height,s=e.placeholder,l=e.scrollPosition,u=e.style,c=e.threshold,d=e.useIntersectionObserver,f=e.visibleByDefault,p=e.width;return t().createElement(G,{beforeLoad:n,className:r,delayMethod:a,delayTime:i,height:o,placeholder:s,scrollPosition:l,style:u,threshold:c,useIntersectionObserver:d,visibleByDefault:f,width:p},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(e){var n=this.props,r=n.effect,a=n.height,i=n.placeholderSrc,o=n.width,s=n.wrapperClassName,l=n.wrapperProps,u=this.state.loaded,c=u?" lazy-load-image-loaded":"",d=u||!i?{}:{backgroundImage:"url(".concat(i,")"),backgroundSize:"100% 100%"};return t().createElement("span",Q({className:s+" lazy-load-image-background "+r+c,style:Y(Y({},d),{},{color:"transparent",display:"inline-block",height:a,width:o})},l),e)}},{key:"render",value:function(){var e=this.props,t=e.effect,n=e.placeholderSrc,r=e.visibleByDefault,a=e.wrapperClassName,i=e.wrapperProps,o=this.getLazyLoadImage();return(t||n)&&!r||a||i?this.getWrappedLazyLoadImage(o):o}}])&&function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(o.prototype,n),o}(t().Component);ee.propTypes={afterLoad:r.PropTypes.func,beforeLoad:r.PropTypes.func,delayMethod:r.PropTypes.string,delayTime:r.PropTypes.number,effect:r.PropTypes.string,placeholderSrc:r.PropTypes.string,threshold:r.PropTypes.number,useIntersectionObserver:r.PropTypes.bool,visibleByDefault:r.PropTypes.bool,wrapperClassName:r.PropTypes.string,wrapperProps:r.PropTypes.object},ee.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};var te=ee})(),e.exports=i}()},374:function(e,t,n){"use strict";var r=n(791),a=Symbol.for("react.element"),i=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function u(e,t,n){var r,i={},u=null,c=null;for(r in void 0!==n&&(u=""+n),void 0!==t.key&&(u=""+t.key),void 0!==t.ref&&(c=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(i[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===i[r]&&(i[r]=t[r]);return{$$typeof:a,type:e,key:u,ref:c,props:i,_owner:s.current}}t.Fragment=i,t.jsx=u,t.jsxs=u},117:function(e,t){"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,v={};function g(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}function y(){}function b(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=g.prototype;var w=b.prototype=new y;w.constructor=b,m(w,g.prototype),w.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,_={current:null},k={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var a,i={},o=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(o=""+t.key),t)S.call(t,a)&&!k.hasOwnProperty(a)&&(i[a]=t[a]);var l=arguments.length-2;if(1===l)i.children=r;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];i.children=u}if(e&&e.defaultProps)for(a in l=e.defaultProps)void 0===i[a]&&(i[a]=l[a]);return{$$typeof:n,type:e,key:o,ref:s,props:i,_owner:_.current}}function T(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var C=/\/+/g;function O(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function j(e,t,a,i,o){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return o=o(l=e),e=""===i?"."+O(l,0):i,x(o)?(a="",null!=e&&(a=e.replace(C,"$&/")+"/"),j(o,t,a,"",(function(e){return e}))):null!=o&&(T(o)&&(o=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,a+(!o.key||l&&l.key===o.key?"":(""+o.key).replace(C,"$&/")+"/")+e)),t.push(o)),1;if(l=0,i=""===i?".":i+":",x(e))for(var u=0;u<e.length;u++){var c=i+O(s=e[u],u);l+=j(s,t,a,c,o)}else if(c=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"===typeof c)for(e=c.call(e),u=0;!(s=e.next()).done;)l+=j(s=s.value,t,a,c=i+O(s,u++),o);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function N(e,t,n){if(null==e)return e;var r=[],a=0;return j(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function P(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},M={transition:null},I={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:M,ReactCurrentOwner:_};t.Children={map:N,forEach:function(e,t,n){N(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return N(e,(function(){t++})),t},toArray:function(e){return N(e,(function(e){return e}))||[]},only:function(e){if(!T(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=g,t.Fragment=a,t.Profiler=o,t.PureComponent=b,t.StrictMode=i,t.Suspense=c,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=m({},e.props),i=e.key,o=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(o=t.ref,s=_.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)S.call(t,u)&&!k.hasOwnProperty(u)&&(a[u]=void 0===t[u]&&void 0!==l?l[u]:t[u])}var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){l=Array(u);for(var c=0;c<u;c++)l[c]=arguments[c+2];a.children=l}return{$$typeof:n,type:e.type,key:i,ref:o,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:u,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=M.transition;M.transition={};try{e()}finally{M.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return L.current.useCallback(e,t)},t.useContext=function(e){return L.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return L.current.useDeferredValue(e)},t.useEffect=function(e,t){return L.current.useEffect(e,t)},t.useId=function(){return L.current.useId()},t.useImperativeHandle=function(e,t,n){return L.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return L.current.useMemo(e,t)},t.useReducer=function(e,t,n){return L.current.useReducer(e,t,n)},t.useRef=function(e){return L.current.useRef(e)},t.useState=function(e){return L.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return L.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return L.current.useTransition()},t.version="18.2.0"},791:function(e,t,n){"use strict";e.exports=n(117)},184:function(e,t,n){"use strict";e.exports=n(374)},813:function(e,t){"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<i(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,l=e[s],u=s+1,c=e[u];if(0>i(l,n))u<a&&0>i(c,l)?(e[r]=c,e[u]=n,r=u):(e[r]=l,e[s]=n,r=s);else{if(!(u<a&&0>i(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var o=performance;t.unstable_now=function(){return o.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var u=[],c=[],d=1,f=null,p=3,h=!1,m=!1,v=!1,g="function"===typeof setTimeout?setTimeout:null,y="function"===typeof clearTimeout?clearTimeout:null,b="undefined"!==typeof setImmediate?setImmediate:null;function w(e){for(var t=r(c);null!==t;){if(null===t.callback)a(c);else{if(!(t.startTime<=e))break;a(c),t.sortIndex=t.expirationTime,n(u,t)}t=r(c)}}function x(e){if(v=!1,w(e),!m)if(null!==r(u))m=!0,M(S);else{var t=r(c);null!==t&&I(x,t.startTime-e)}}function S(e,n){m=!1,v&&(v=!1,y(T),T=-1),h=!0;var i=p;try{for(w(n),f=r(u);null!==f&&(!(f.expirationTime>n)||e&&!j());){var o=f.callback;if("function"===typeof o){f.callback=null,p=f.priorityLevel;var s=o(f.expirationTime<=n);n=t.unstable_now(),"function"===typeof s?f.callback=s:f===r(u)&&a(u),w(n)}else a(u);f=r(u)}if(null!==f)var l=!0;else{var d=r(c);null!==d&&I(x,d.startTime-n),l=!1}return l}finally{f=null,p=i,h=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,k=!1,E=null,T=-1,C=5,O=-1;function j(){return!(t.unstable_now()-O<C)}function N(){if(null!==E){var e=t.unstable_now();O=e;var n=!0;try{n=E(!0,e)}finally{n?_():(k=!1,E=null)}}else k=!1}if("function"===typeof b)_=function(){b(N)};else if("undefined"!==typeof MessageChannel){var P=new MessageChannel,L=P.port2;P.port1.onmessage=N,_=function(){L.postMessage(null)}}else _=function(){g(N,0)};function M(e){E=e,k||(k=!0,_())}function I(e,n){T=g((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||h||(m=!0,M(S))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):C=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(u)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,a,i){var o=t.unstable_now();switch("object"===typeof i&&null!==i?i="number"===typeof(i=i.delay)&&0<i?o+i:o:i=o,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:i,expirationTime:s=i+s,sortIndex:-1},i>o?(e.sortIndex=i,n(c,e),null===r(u)&&e===r(c)&&(v?(y(T),T=-1):v=!0,I(x,i-o))):(e.sortIndex=s,n(u,e),m||h||(m=!0,M(S))),e},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},296:function(e,t,n){"use strict";e.exports=n(813)},613:function(e){e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!==typeof e||!e||"object"!==typeof t||!t)return!1;var i=Object.keys(e),o=Object.keys(t);if(i.length!==o.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<i.length;l++){var u=i[l];if(!s(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var i=Object.create(null);n.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&a&&r;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((function(e){o[e]=function(){return r[e]}}));return o.default=function(){return r},n.d(i,o),i}}(),n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="/react-games.github.io/",n.nc=void 0,function(){"use strict";var e,t=n(791),r=n.t(t,2),a=n(250);function i(e){if(Array.isArray(e))return e}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t){if(e){if("string"===typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function u(e,t){return i(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],l=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(c){u=!0,a=c}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||s(e,t)||l()}function c(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function d(e){return function(e){if(Array.isArray(e))return o(e)}(e)||c(e)||s(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function h(e){var t=function(e,t){if("object"!==p(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==p(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===p(t)?t:String(t)}function m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,h(r.key),r)}}function v(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function g(e,t){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},g(e,t)}function y(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function w(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function x(e,t){if(t&&("object"===p(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function S(e){var t=w();return function(){var n,r=b(e);if(t){var a=b(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return x(this,n)}}function _(e,t,n){return _=w()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&g(a,n.prototype),a},_.apply(null,arguments)}function k(e){var t="function"===typeof Map?new Map:void 0;return k=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _(e,arguments,b(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),g(r,e)},k(e)}function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},E.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(e||(e={}));var T,C="popstate";function O(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function j(e,t){return{usr:e.state,key:e.key,idx:t}}function N(e,t,n,r){return void 0===n&&(n=null),E({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?L(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function P(e){var t=e.pathname,n=void 0===t?"/":t,r=e.search,a=void 0===r?"":r,i=e.hash,o=void 0===i?"":i;return a&&"?"!==a&&(n+="?"===a.charAt(0)?a:"?"+a),o&&"#"!==o&&(n+="#"===o.charAt(0)?o:"#"+o),n}function L(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function M(t,n,r,a){void 0===a&&(a={});var i=a,o=i.window,s=void 0===o?document.defaultView:o,l=i.v5Compat,u=void 0!==l&&l,c=s.history,d=e.Pop,f=null,p=h();function h(){return(c.state||{idx:null}).idx}function m(){d=e.Pop;var t=h(),n=null==t?null:t-p;p=t,f&&f({action:d,location:g.location,delta:n})}function v(e){var t="null"!==s.location.origin?s.location.origin:s.location.href,n="string"===typeof e?e:P(e);return O(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==p&&(p=0,c.replaceState(E({},c.state,{idx:p}),""));var g={get action(){return d},get location(){return t(s,c)},listen:function(e){if(f)throw new Error("A history only accepts one active listener");return s.addEventListener(C,m),f=e,function(){s.removeEventListener(C,m),f=null}},createHref:function(e){return n(s,e)},createURL:v,encodeLocation:function(e){var t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(t,n){d=e.Push;var a=N(g.location,t,n);r&&r(a,t);var i=j(a,p=h()+1),o=g.createHref(a);try{c.pushState(i,"",o)}catch(l){s.location.assign(o)}u&&f&&f({action:d,location:g.location,delta:1})},replace:function(t,n){d=e.Replace;var a=N(g.location,t,n);r&&r(a,t);var i=j(a,p=h()),o=g.createHref(a);c.replaceState(i,"",o),u&&f&&f({action:d,location:g.location,delta:0})},go:function(e){return c.go(e)}};return g}function I(e,t,n){void 0===n&&(n="/");var r=K(("string"===typeof t?L(t):t).pathname||"/",n);if(null==r)return null;var a=R(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(a);for(var i=null,o=0;null==i&&o<a.length;++o)i=G(a[o],q(r));return i}function R(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");var a=function(e,a,i){var o={relativePath:void 0===i?e.path||"":i,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(O(o.relativePath.startsWith(r),'Absolute route path "'+o.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(r.length));var s=Z([r,o.relativePath]),l=n.concat(o);e.children&&e.children.length>0&&(O(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),R(e.children,t,l,s)),(null!=e.path||e.index)&&t.push({path:s,score:W(s,e.index),routesMeta:l})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,i=function(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=s(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){l=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw i}}}}(A(e.path));try{for(i.s();!(r=i.n()).done;){var o=r.value;a(e,t,o)}}catch(l){i.e(l)}finally{i.f()}}else a(e,t)})),t}function A(e){var t=e.split("/");if(0===t.length)return[];var n,r=i(n=t)||c(n)||s(n)||l(),a=r[0],o=r.slice(1),u=a.endsWith("?"),f=a.replace(/\?$/,"");if(0===o.length)return u?[f,""]:[f];var p=A(o.join("/")),h=[];return h.push.apply(h,d(p.map((function(e){return""===e?f:[f,e].join("/")})))),u&&h.push.apply(h,d(p)),h.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(T||(T={}));var D=/^:\w+$/,z=3,F=2,B=1,V=10,U=-2,H=function(e){return"*"===e};function W(e,t){var n=e.split("/"),r=n.length;return n.some(H)&&(r+=U),t&&(r+=F),n.filter((function(e){return!H(e)})).reduce((function(e,t){return e+(D.test(t)?z:""===t?B:V)}),r)}function G(e,t){for(var n=e.routesMeta,r={},a="/",i=[],o=0;o<n.length;++o){var s=n[o],l=o===n.length-1,u="/"===a?t:t.slice(a.length)||"/",c=$({path:s.relativePath,caseSensitive:s.caseSensitive,end:l},u);if(!c)return null;Object.assign(r,c.params);var d=s.route;i.push({params:r,pathname:Z([a,c.pathname]),pathnameBase:ee(Z([a,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(a=Z([a,c.pathnameBase]))}return i}function $(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});var n=function(e,t,n){void 0===t&&(t=!1);void 0===n&&(n=!0);Y("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');var r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(function(e,t){return r.push(t),"/([^\\/]+)"}));e.endsWith("*")?(r.push("*"),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))");var i=new RegExp(a,t?void 0:"i");return[i,r]}(e.path,e.caseSensitive,e.end),r=u(n,2),a=r[0],i=r[1],o=t.match(a);if(!o)return null;var s=o[0],l=s.replace(/(.)\/+$/,"$1"),c=o.slice(1),d=i.reduce((function(e,t,n){if("*"===t){var r=c[n]||"";l=s.slice(0,s.length-r.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(n){return Y(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+n+")."),e}}(c[n]||"",t),e}),{});return{params:d,pathname:s,pathnameBase:l,pattern:e}}function q(e){try{return decodeURI(e)}catch(t){return Y(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function K(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;var n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function Y(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function X(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function Q(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function J(e,t,n,r){var a;void 0===r&&(r=!1),"string"===typeof e?a=L(e):(O(!(a=E({},e)).pathname||!a.pathname.includes("?"),X("?","pathname","search",a)),O(!a.pathname||!a.pathname.includes("#"),X("#","pathname","hash",a)),O(!a.search||!a.search.includes("#"),X("#","search","hash",a)));var i,o=""===e||""===a.pathname,s=o?"/":a.pathname;if(r||null==s)i=n;else{var l=t.length-1;if(s.startsWith("..")){for(var u=s.split("/");".."===u[0];)u.shift(),l-=1;a.pathname=u.join("/")}i=l>=0?t[l]:"/"}var c=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?L(e):e,r=n.pathname,a=n.search,i=void 0===a?"":a,o=n.hash,s=void 0===o?"":o,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:te(i),hash:ne(s)}}(a,i),d=s&&"/"!==s&&s.endsWith("/"),f=(o||"."===s)&&n.endsWith("/");return c.pathname.endsWith("/")||!d&&!f||(c.pathname+="/"),c}var Z=function(e){return e.join("/").replace(/\/\/+/g,"/")},ee=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},te=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},ne=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},re=function(e){y(n,e);var t=S(n);function n(){return f(this,n),t.apply(this,arguments)}return v(n)}(k(Error));function ae(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}var ie=["post","put","patch","delete"],oe=(new Set(ie),["get"].concat(ie));new Set(oe),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");function se(){return se=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},se.apply(this,arguments)}var le="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},ue=t.useState,ce=t.useEffect,de=t.useLayoutEffect,fe=t.useDebugValue;function pe(e){var t=e.getSnapshot,n=e.value;try{var r=t();return!le(n,r)}catch(a){return!0}}"undefined"===typeof window||"undefined"===typeof window.document||window.document.createElement,r.useSyncExternalStore;var he=t.createContext(null);var me=t.createContext(null);var ve=t.createContext(null);var ge=t.createContext(null);var ye=t.createContext(null);var be=t.createContext({outlet:null,matches:[]});var we=t.createContext(null);function xe(){return null!=t.useContext(ye)}function Se(){return xe()||O(!1),t.useContext(ye).location}function _e(){xe()||O(!1);var e=t.useContext(ge),n=e.basename,r=e.navigator,a=t.useContext(be).matches,i=Se().pathname,o=JSON.stringify(Q(a).map((function(e){return e.pathnameBase}))),s=t.useRef(!1);t.useEffect((function(){s.current=!0}));var l=t.useCallback((function(e,t){if(void 0===t&&(t={}),s.current)if("number"!==typeof e){var a=J(e,JSON.parse(o),i,"path"===t.relative);"/"!==n&&(a.pathname="/"===a.pathname?n:Z([n,a.pathname])),(t.replace?r.replace:r.push)(a,t.state,t)}else r.go(e)}),[n,r,o,i]);return l}function ke(){var e=t.useContext(be).matches,n=e[e.length-1];return n?n.params:{}}function Ee(e,n){var r=(void 0===n?{}:n).relative,a=t.useContext(be).matches,i=Se().pathname,o=JSON.stringify(Q(a).map((function(e){return e.pathnameBase})));return t.useMemo((function(){return J(e,JSON.parse(o),i,"path"===r)}),[e,o,i,r])}function Te(){var e=function(){var e,n=t.useContext(we),r=Le(Oe.UseRouteError),a=Me(Oe.UseRouteError);if(n)return n;return null==(e=r.errors)?void 0:e[a]}(),n=ae(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:a};return t.createElement(t.Fragment,null,t.createElement("h2",null,"Unexpected Application Error!"),t.createElement("h3",{style:{fontStyle:"italic"}},n),r?t.createElement("pre",{style:i},r):null,null)}var Ce,Oe,je=function(e){y(r,e);var n=S(r);function r(e){var t;return f(this,r),(t=n.call(this,e)).state={location:e.location,error:e.error},t}return v(r,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?t.createElement(be.Provider,{value:this.props.routeContext},t.createElement(we.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),r}(t.Component);function Ne(e){var n=e.routeContext,r=e.match,a=e.children,i=t.useContext(he);return i&&i.static&&i.staticContext&&r.route.errorElement&&(i.staticContext._deepestRenderedBoundaryId=r.route.id),t.createElement(be.Provider,{value:n},a)}function Pe(e,n,r){if(void 0===n&&(n=[]),null==e){if(null==r||!r.errors)return null;e=r.matches}var a=e,i=null==r?void 0:r.errors;if(null!=i){var o=a.findIndex((function(e){return e.route.id&&(null==i?void 0:i[e.route.id])}));o>=0||O(!1),a=a.slice(0,Math.min(a.length,o+1))}return a.reduceRight((function(e,o,s){var l=o.route.id?null==i?void 0:i[o.route.id]:null,u=r?o.route.errorElement||t.createElement(Te,null):null,c=n.concat(a.slice(0,s+1)),d=function(){return t.createElement(Ne,{match:o,routeContext:{outlet:e,matches:c}},l?u:void 0!==o.route.element?o.route.element:e)};return r&&(o.route.errorElement||0===s)?t.createElement(je,{location:r.location,component:u,error:l,children:d(),routeContext:{outlet:null,matches:c}}):d()}),null)}function Le(e){var n=t.useContext(me);return n||O(!1),n}function Me(e){var n=function(e){var n=t.useContext(be);return n||O(!1),n}(),r=n.matches[n.matches.length-1];return r.route.id||O(!1),r.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(Ce||(Ce={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(Oe||(Oe={}));var Ie;function Re(e){var n=e.to,r=e.replace,a=e.state,i=e.relative;xe()||O(!1);var o=t.useContext(me),s=_e();return t.useEffect((function(){o&&"idle"!==o.navigation.state||s(n,{replace:r,state:a,relative:i})})),null}function Ae(e){O(!1)}function De(n){var r=n.basename,a=void 0===r?"/":r,i=n.children,o=void 0===i?null:i,s=n.location,l=n.navigationType,u=void 0===l?e.Pop:l,c=n.navigator,d=n.static,f=void 0!==d&&d;xe()&&O(!1);var p=a.replace(/^\/*/,"/"),h=t.useMemo((function(){return{basename:p,navigator:c,static:f}}),[p,c,f]);"string"===typeof s&&(s=L(s));var m=s,v=m.pathname,g=void 0===v?"/":v,y=m.search,b=void 0===y?"":y,w=m.hash,x=void 0===w?"":w,S=m.state,_=void 0===S?null:S,k=m.key,E=void 0===k?"default":k,T=t.useMemo((function(){var e=K(g,p);return null==e?null:{pathname:e,search:b,hash:x,state:_,key:E}}),[p,g,b,x,_,E]);return null==T?null:t.createElement(ge.Provider,{value:h},t.createElement(ye.Provider,{children:o,value:{location:T,navigationType:u}}))}function ze(n){var r=n.children,a=n.location,i=t.useContext(he);return function(n,r){xe()||O(!1);var a,i=t.useContext(ge).navigator,o=t.useContext(me),s=t.useContext(be).matches,l=s[s.length-1],u=l?l.params:{},c=(l&&l.pathname,l?l.pathnameBase:"/"),d=(l&&l.route,Se());if(r){var f,p="string"===typeof r?L(r):r;"/"===c||(null==(f=p.pathname)?void 0:f.startsWith(c))||O(!1),a=p}else a=d;var h=a.pathname||"/",m=I(n,{pathname:"/"===c?h:h.slice(c.length)||"/"}),v=Pe(m&&m.map((function(e){return Object.assign({},e,{params:Object.assign({},u,e.params),pathname:Z([c,i.encodeLocation?i.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?c:Z([c,i.encodeLocation?i.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),s,o||void 0);return r&&v?t.createElement(ye.Provider,{value:{location:se({pathname:"/",search:"",hash:"",state:null,key:"default"},a),navigationType:e.Pop}},v):v}(i&&!r?i.router.routes:Be(r),a)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Ie||(Ie={}));var Fe=new Promise((function(){}));t.Component;function Be(e,n){void 0===n&&(n=[]);var r=[];return t.Children.forEach(e,(function(e,a){if(t.isValidElement(e))if(e.type!==t.Fragment){e.type!==Ae&&O(!1),e.props.index&&e.props.children&&O(!1);var i=[].concat(d(n),[a]),o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=Be(e.props.children,i)),r.push(o)}else r.push.apply(r,Be(e.props.children,n))})),r}function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ve.apply(this,arguments)}function Ue(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}var He=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],We=["aria-current","caseSensitive","className","end","style","to","children"];function Ge(e){var n=e.basename,r=e.children,a=e.window,i=t.useRef();null==i.current&&(i.current=function(e){return void 0===e&&(e={}),M((function(e,t){var n=e.location;return N("",{pathname:n.pathname,search:n.search,hash:n.hash},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"===typeof t?t:P(t)}),null,e)}({window:a,v5Compat:!0}));var o=i.current,s=u(t.useState({action:o.action,location:o.location}),2),l=s[0],c=s[1];return t.useLayoutEffect((function(){return o.listen(c)}),[o]),t.createElement(De,{basename:n,children:r,location:l.location,navigationType:l.action,navigator:o})}var $e="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,qe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ke=t.forwardRef((function(e,n){var r,a=e.onClick,i=e.relative,o=e.reloadDocument,s=e.replace,l=e.state,u=e.target,c=e.to,d=e.preventScrollReset,f=Ue(e,He),p=t.useContext(ge).basename,h=!1;if("string"===typeof c&&qe.test(c)&&(r=c,$e)){var m=new URL(window.location.href),v=c.startsWith("//")?new URL(m.protocol+c):new URL(c),g=K(v.pathname,p);v.origin===m.origin&&null!=g?c=g+v.search+v.hash:h=!0}var y=function(e,n){var r=(void 0===n?{}:n).relative;xe()||O(!1);var a=t.useContext(ge),i=a.basename,o=a.navigator,s=Ee(e,{relative:r}),l=s.hash,u=s.pathname,c=s.search,d=u;return"/"!==i&&(d="/"===u?i:Z([i,u])),o.createHref({pathname:d,search:c,hash:l})}(c,{relative:i}),b=function(e,n){var r=void 0===n?{}:n,a=r.target,i=r.replace,o=r.state,s=r.preventScrollReset,l=r.relative,u=_e(),c=Se(),d=Ee(e,{relative:l});return t.useCallback((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,a)){t.preventDefault();var n=void 0!==i?i:P(c)===P(d);u(e,{replace:n,state:o,preventScrollReset:s,relative:l})}}),[c,u,d,i,o,a,e,s,l])}(c,{replace:s,state:l,target:u,preventScrollReset:d,relative:i});return t.createElement("a",Ve({},f,{href:r||y,onClick:h||o?a:function(e){a&&a(e),e.defaultPrevented||b(e)},ref:n,target:u}))}));var Ye=t.forwardRef((function(e,n){var r=e["aria-current"],a=void 0===r?"page":r,i=e.caseSensitive,o=void 0!==i&&i,s=e.className,l=void 0===s?"":s,u=e.end,c=void 0!==u&&u,d=e.style,f=e.to,p=e.children,h=Ue(e,We),m=Ee(f,{relative:h.relative}),v=Se(),g=t.useContext(me),y=t.useContext(ge).navigator,b=y.encodeLocation?y.encodeLocation(m).pathname:m.pathname,w=v.pathname,x=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;o||(w=w.toLowerCase(),x=x?x.toLowerCase():null,b=b.toLowerCase());var S,_=w===b||!c&&w.startsWith(b)&&"/"===w.charAt(b.length),k=null!=x&&(x===b||!c&&x.startsWith(b)&&"/"===x.charAt(b.length)),E=_?a:void 0;S="function"===typeof l?l({isActive:_,isPending:k}):[l,_?"active":null,k?"pending":null].filter(Boolean).join(" ");var T="function"===typeof d?d({isActive:_,isPending:k}):d;return t.createElement(Ke,Ve({},h,{"aria-current":E,className:S,ref:n,style:T,to:f}),"function"===typeof p?p({isActive:_,isPending:k}):p)}));var Xe,Qe;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Xe||(Xe={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Qe||(Qe={}));function Je(e,t,n){return(t=h(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function et(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ze(Object(n),!0).forEach((function(t){Je(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ze(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var tt=n(184),nt=(0,t.createContext)({searchFormData:{query:""}});var rt=function(){var e=(0,t.useContext)(nt),n=e.searchFormData,r=e.setSearchFormData,a=u((0,t.useState)(!1),2),i=a[0],o=a[1],s=(0,t.useRef)(null),l=u((0,t.useState)(window.innerWidth),2),c=l[0],d=l[1],f=_e(),p=function(){d(window.innerWidth)};(0,t.useEffect)((function(){function e(e){e.altKey&&13===e.keyCode&&(s.current.focus(),e.preventDefault())}return window.addEventListener("keydown",e),window.addEventListener("resize",p),function(){window.removeEventListener("keydown",e),window.removeEventListener("resize",p)}}),[]);return(0,tt.jsx)("form",{className:"search__form",onSubmit:function(e){e.preventDefault(),f("/search")},children:(0,tt.jsxs)("div",{className:"search-input__area",children:[(0,tt.jsx)("input",{ref:s,value:n.query,type:"text",role:"searchbox",placeholder:c<576?"Search":"Search more than 500 000 games",className:"search-input",onChange:function(e){console.log(e.target.value),""!==e.target.value?o(!0):o(!1),r((function(t){return et(et({},t),{},{query:e.target.value})}))}}),(0,tt.jsxs)("div",{className:i?"search-hotkeys__wrapper hotkeys-hidden":"search-hotkeys__wrapper",children:[(0,tt.jsx)("div",{className:"search-hotkey",children:"alt"}),(0,tt.jsx)("span",{children:"+"}),(0,tt.jsx)("div",{className:"search-hotkey",children:"enter"})]}),(0,tt.jsx)("button",{className:i?"search__close-button":"search__close-button close-hidden",onClick:function(){r((function(e){return et(et({},e),{},{query:""})})),o(!1)},type:"reset",children:(0,tt.jsx)("span",{className:"search__close-button__icon"})})]})})},at=function(e){var t=e.isOpen,n=e.toggleMenu;return(0,tt.jsxs)("nav",{className:"burger-menu",children:[(0,tt.jsxs)("button",{onClick:n,className:"burger-menu__button",children:[(0,tt.jsx)("span",{className:"burger-menu__button-bar"}),(0,tt.jsx)("span",{className:"burger-menu__button-bar"}),(0,tt.jsx)("span",{className:"burger-menu__button-bar"})]}),t&&(0,tt.jsxs)("div",{className:"burger-menu__container",children:[(0,tt.jsx)("ul",{className:"burger-menu__list",children:(0,tt.jsxs)("div",{className:"burger-menu__list-col",children:[(0,tt.jsx)("div",{className:"burger-menu__list-title",children:"Menu"}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Home"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/games",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Popular Games"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/games-by-rating",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Games by rating"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/games-by-metacritic",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Games by metacritic"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/developers",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Developers"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/publishers",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Publishers"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/genres",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Genres"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/platforms",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Platforms"})}),(0,tt.jsx)("li",{className:"burger-menu__item",children:(0,tt.jsx)(Ye,{to:"/tags",className:function(e){return e.isActive?"burger-menu__link--active":"burger-menu__link"},onClick:n,children:"Tags"})})]})}),(0,tt.jsx)("div",{className:"burger-menu__close-wrapper",onClick:n,role:"button",tabIndex:0,children:(0,tt.jsxs)("div",{className:"burger-menu__close",children:[(0,tt.jsx)("span",{className:"burger-menu__close-bar"}),(0,tt.jsx)("span",{className:"burger-menu__close-bar"})]})})]})]})},it=function(e){var n=e.navigate,r=u((0,t.useState)(!1),2),a=r[0],i=r[1],o=u((0,t.useState)(!1),2),s=o[0],l=o[1],c=u((0,t.useState)(window.innerWidth),2),d=c[0],f=c[1],p=function(){l(!s)},h=function(){f(window.innerWidth)};return(0,t.useEffect)((function(){return window.addEventListener("resize",h),function(){return window.removeEventListener("resize",h)}}),[]),(0,tt.jsx)("header",{className:"header",children:(0,tt.jsxs)("div",{className:"header__wrapper",children:[(0,tt.jsx)("div",{className:"header__item",children:(0,tt.jsx)(Ye,{to:"/",className:"header__logo",children:"GAME"})}),(0,tt.jsx)("div",{className:"header__item header__item__search",children:(0,tt.jsx)(rt,{navigate:n})}),(0,tt.jsxs)("div",{className:"header__item",children:[(0,tt.jsx)("div",{className:"burger-menu__overlay ".concat(s?"burger-menu__overlay--opened":""),onClick:p,role:"button"}),d<992?(0,tt.jsx)(at,{isOpen:s,toggleMenu:p}):(0,tt.jsx)("nav",{className:"header__nav",children:(0,tt.jsxs)("ul",{className:"header__ul",children:[(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Home"})}),(0,tt.jsxs)("li",{className:"header__li dropdown-trigger",onMouseEnter:function(){i(!0)},onMouseLeave:function(){i(!1)},children:[(0,tt.jsx)(Ye,{to:"/games",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Games"}),a&&(0,tt.jsxs)("ul",{className:"dropdown",children:[(0,tt.jsx)("li",{className:"dropdown__li",children:(0,tt.jsx)(Ye,{to:"/games-by-rating",children:"Games by rating"})}),(0,tt.jsx)("li",{className:"dropdown__li",children:(0,tt.jsx)(Ye,{to:"/games-by-metacritic",children:"Games by metacritic"})})]})]}),(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/developers",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Developers"})}),(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/publishers",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Publishers"})}),(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/genres",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Genres"})}),(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/platforms",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Platforms"})}),(0,tt.jsx)("li",{className:"header__li",children:(0,tt.jsx)(Ye,{to:"/tags",className:function(e){return e.isActive?"header__link--active":"header__link"},children:"Tags"})})]})})]})]})})},ot=function(){return(0,tt.jsx)("footer",{className:"footer",children:(0,tt.jsx)("div",{className:"container",children:(0,tt.jsx)("div",{className:"footer__wrapper",children:(0,tt.jsx)("a",{href:"https://rawg.io/apidocs",className:"footer-text",children:"Based on RAWG Database API"})})})})},st=n(87),lt=n.p+"static/media/hero-photo.5ade524b4309e05ae7fd.jpg",ut=n.p+"static/media/main-hero.133aaf53617b5959adbb.jpeg";var ct=function(){return(0,tt.jsxs)("div",{className:"main",children:[(0,tt.jsx)("div",{className:"main-page__hero",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsxs)("div",{className:"main-page__hero-content",children:[(0,tt.jsxs)("div",{className:"main-page__hero-text",children:[(0,tt.jsx)("h1",{className:"main-page__hero-text__title",children:"Explore GAME Video Games Database"}),(0,tt.jsx)("div",{className:"main-page__hero-text__subtitle",children:"There are two types of companies: hoarders and givers. GAME is the largest video game database and game discovery service. And we are gladly sharing our 500,000+ games, search, and machine learning recommendations with the world."}),(0,tt.jsx)("div",{className:"main-page__hero-buttons__wrapper",children:(0,tt.jsx)(Ke,{to:"/games-by-rating",className:"main-page__hero-button",children:"Go to games"})})]}),(0,tt.jsx)("div",{className:"main-page__hero-photo",children:(0,tt.jsx)(st.LazyLoadImage,{src:lt,width:900,height:450,placeholderSrc:"https://via.placeholder.com/900x450/f2f2f2/969696.jpeg?text=+",effect:"blur",alt:"hero",className:"hero-photo"})})]}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(ut,")")}})})})]})}),(0,tt.jsx)("div",{className:"page main-page",children:(0,tt.jsx)("div",{className:"container",children:(0,tt.jsxs)("div",{className:"main-page__reasons",children:[(0,tt.jsx)("h3",{className:"main-page__reasons-subtitle",children:"Why GAME"}),(0,tt.jsx)("h2",{className:"main-page__reasons-title",children:"500,000+ games for 50 platforms including mobiles"}),(0,tt.jsxs)("ul",{className:"main-page__reasons-list",children:[(0,tt.jsxs)("li",{className:"main-page__reasons-item",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83d\udcf7"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"2,100,000"}),(0,tt.jsx)("br",{}),"screenshots"]})]}),(0,tt.jsxs)("li",{className:"main-page__reasons-item item-blue",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83d\udc4d"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"1,100,000"}),(0,tt.jsx)("br",{}),"ratings"]})]}),(0,tt.jsxs)("li",{className:"main-page__reasons-item item-white",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83d\uddc4\ufe0f"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"220,000"}),(0,tt.jsx)("br",{}),"developers"]})]}),(0,tt.jsxs)("li",{className:"main-page__reasons-item item-blue",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83c\udff7\ufe0f"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"58,000"}),(0,tt.jsx)("br",{}),"tags"]})]}),(0,tt.jsxs)("li",{className:"main-page__reasons-item item-white",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83d\udcc1"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"45,000"}),(0,tt.jsx)("br",{}),"publishers"]})]}),(0,tt.jsxs)("li",{className:"main-page__reasons-item",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__icon",children:"\ud83d\udc68\u200d\ud83d\udcbb"}),(0,tt.jsxs)("p",{className:"main-page__reasons-item__text",children:[(0,tt.jsx)("span",{className:"main-page__reasons-item__counter",children:"24,000"}),(0,tt.jsx)("br",{}),"people"]})]})]}),(0,tt.jsxs)("ul",{className:"main-page__text-reasons",children:[(0,tt.jsx)("li",{className:"main-page__text-reasons__item",children:(0,tt.jsx)("p",{children:"Comprehensive video game data: descriptions, genres, release dates, links to stores, ESRB-ratings, average playtime, Metacritic ratings, official websites, system requirements, DLCs and franchises."})}),(0,tt.jsx)("li",{className:"main-page__text-reasons__item",children:(0,tt.jsx)("p",{children:"Player activity data: Steam average playtime and GAME player counts and ratings."})}),(0,tt.jsx)("li",{className:"main-page__text-reasons__item",children:(0,tt.jsx)("p",{children:"Where to buy: links to digital distribution services."})}),(0,tt.jsx)("li",{className:"main-page__text-reasons__item",children:(0,tt.jsx)("p",{children:"Rapidly growing and getting better by user contribution and our algorithms."})})]})]})})})]})};function dt(){dt=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(j){l=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),s=new T(a||[]);return r(o,"_invoke",{value:S(e,n,s)}),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(j){return{type:"throw",arg:j}}}e.wrap=u;var d={};function f(){}function h(){}function m(){}var v={};l(v,i,(function(){return this}));var g=Object.getPrototypeOf,y=g&&g(g(C([])));y&&y!==t&&n.call(y,i)&&(v=y);var b=m.prototype=f.prototype=Object.create(v);function w(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function a(r,i,o,s){var l=c(e[r],e,i);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==p(d)&&n.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,o,s)}),(function(e){a("throw",e,o,s)})):t.resolve(d).then((function(e){u.value=e,o(u)}),(function(e){return a("throw",e,o,s)}))}s(l.arg)}var i;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){a(e,n,t,r)}))}return i=i?i.then(r,r):r()}})}function S(e,t,n){var r="suspendedStart";return function(a,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===a)throw i;return O()}for(n.method=a,n.arg=i;;){var o=n.delegate;if(o){var s=_(o,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===d)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function _(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var a=c(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,d;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,d):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,d)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function C(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:O}}function O(){return{value:void 0,done:!0}}return h.prototype=m,r(b,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:h,configurable:!0}),h.displayName=l(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===h||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,l(e,s,"GeneratorFunction")),e.prototype=Object.create(b),e},e.awrap=function(e){return{__await:e}},w(x.prototype),l(x.prototype,o,(function(){return this})),e.AsyncIterator=x,e.async=function(t,n,r,a,i){void 0===i&&(i=Promise);var o=new x(u(t,n,r,a),i);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},w(b),l(b,s,"Generator"),l(b,i,(function(){return this})),l(b,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=C,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),l=n.call(i,"finallyLoc");if(s&&l){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,d):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),d},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),d}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;E(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}function ft(e,t,n,r,a,i,o){try{var s=e[i](o),l=s.value}catch(u){return void n(u)}s.done?t(l):Promise.resolve(l).then(r,a)}function pt(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function o(e){ft(i,r,a,o,s,"next",e)}function s(e){ft(i,r,a,o,s,"throw",e)}o(void 0)}))}}var ht=function(e,n){var r=(0,t.useMemo)((function(){if(!e)return d(n);switch(e){case"name":return d(n).sort((function(t,n){return t[e].localeCompare(n[e])}));case"rating":case"metacritic":return d(n).sort((function(t,n){return n[e]-t[e]}));case"added":return d(n).sort((function(t,n){return t[e]-n[e]}));case"released":return d(n).sort((function(t,n){return new Date(t[e])-new Date(n[e])}));default:return d(n)}}),[e,n]);return r},mt=function(e){var n=u((0,t.useState)(!0),2),r=n[0],a=n[1],i=u((0,t.useState)(""),2),o=i[0],s=i[1],l=function(){var t=pt(dt().mark((function t(){var n=arguments;return dt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,a(!0),t.next=4,e.apply(void 0,n);case 4:t.next=9;break;case 6:t.prev=6,t.t0=t.catch(0),s(t.t0.message);case 9:return t.prev=9,a(!1),t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[0,6,9,12]])})));return function(){return t.apply(this,arguments)}}();return[l,r,o]},vt=function(e,n,r,a){var i=(0,t.useRef)();(0,t.useEffect)((function(){if(!r){i.current&&i.current.disconnect();i.current=new IntersectionObserver((function(e,t){e[0].isIntersecting&&n&&a()})),i.current.observe(e.current)}}),[r])};function gt(e,t){return function(){return e.apply(t,arguments)}}var yt,bt=Object.prototype.toString,wt=Object.getPrototypeOf,xt=(yt=Object.create(null),function(e){var t=bt.call(e);return yt[t]||(yt[t]=t.slice(8,-1).toLowerCase())}),St=function(e){return e=e.toLowerCase(),function(t){return xt(t)===e}},_t=function(e){return function(t){return typeof t===e}},kt=Array.isArray,Et=_t("undefined");var Tt=St("ArrayBuffer");var Ct=_t("string"),Ot=_t("function"),jt=_t("number"),Nt=function(e){return null!==e&&"object"===typeof e},Pt=function(e){if("object"!==xt(e))return!1;var t=wt(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Lt=St("Date"),Mt=St("File"),It=St("Blob"),Rt=St("FileList"),At=St("URLSearchParams");function Dt(e,t){var n,r,a=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,i=void 0!==a&&a;if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),kt(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{var o,s=i?Object.getOwnPropertyNames(e):Object.keys(e),l=s.length;for(n=0;n<l;n++)o=s[n],t.call(null,e[o],o,e)}}function zt(e,t){t=t.toLowerCase();for(var n,r=Object.keys(e),a=r.length;a-- >0;)if(t===(n=r[a]).toLowerCase())return n;return null}var Ft="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global,Bt=function(e){return!Et(e)&&e!==Ft};var Vt,Ut=(Vt="undefined"!==typeof Uint8Array&&wt(Uint8Array),function(e){return Vt&&e instanceof Vt}),Ht=St("HTMLFormElement"),Wt=function(e){var t=Object.prototype.hasOwnProperty;return function(e,n){return t.call(e,n)}}(),Gt=St("RegExp"),$t=function(e,t){var n=Object.getOwnPropertyDescriptors(e),r={};Dt(n,(function(n,a){!1!==t(n,a,e)&&(r[a]=n)})),Object.defineProperties(e,r)},qt="abcdefghijklmnopqrstuvwxyz",Kt="0123456789",Yt={DIGIT:Kt,ALPHA:qt,ALPHA_DIGIT:qt+qt.toUpperCase()+Kt};var Xt={isArray:kt,isArrayBuffer:Tt,isBuffer:function(e){return null!==e&&!Et(e)&&null!==e.constructor&&!Et(e.constructor)&&Ot(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t="[object FormData]";return e&&("function"===typeof FormData&&e instanceof FormData||bt.call(e)===t||Ot(e.toString)&&e.toString()===t)},isArrayBufferView:function(e){return"undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&Tt(e.buffer)},isString:Ct,isNumber:jt,isBoolean:function(e){return!0===e||!1===e},isObject:Nt,isPlainObject:Pt,isUndefined:Et,isDate:Lt,isFile:Mt,isBlob:It,isRegExp:Gt,isFunction:Ot,isStream:function(e){return Nt(e)&&Ot(e.pipe)},isURLSearchParams:At,isTypedArray:Ut,isFileList:Rt,forEach:Dt,merge:function e(){for(var t=(Bt(this)&&this||{}).caseless,n={},r=function(r,a){var i=t&&zt(n,a)||a;Pt(n[i])&&Pt(r)?n[i]=e(n[i],r):Pt(r)?n[i]=e({},r):kt(r)?n[i]=r.slice():n[i]=r},a=0,i=arguments.length;a<i;a++)arguments[a]&&Dt(arguments[a],r);return n},extend:function(e,t,n){return Dt(t,(function(t,r){n&&Ot(t)?e[r]=gt(t,n):e[r]=t}),{allOwnKeys:(arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,r){e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,r){var a,i,o,s={};if(t=t||{},null==e)return t;do{for(i=(a=Object.getOwnPropertyNames(e)).length;i-- >0;)o=a[i],r&&!r(o,e,t)||s[o]||(t[o]=e[o],s[o]=!0);e=!1!==n&&wt(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:xt,kindOfTest:St,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;if(kt(e))return e;var t=e.length;if(!jt(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,r=(e&&e[Symbol.iterator]).call(e);(n=r.next())&&!n.done;){var a=n.value;t.call(e,a[0],a[1])}},matchAll:function(e,t){for(var n,r=[];null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:Ht,hasOwnProperty:Wt,hasOwnProp:Wt,reduceDescriptors:$t,freezeMethods:function(e){$t(e,(function(t,n){if(Ot(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;var r=e[n];Ot(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:function(e,t){var n={},r=function(e){e.forEach((function(e){n[e]=!0}))};return kt(e)?r(e):r(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(e,t){return e=+e,Number.isFinite(e)?e:t},findKey:zt,global:Ft,isContextDefined:Bt,ALPHABET:Yt,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yt.ALPHA_DIGIT,n="",r=t.length;e--;)n+=t[Math.random()*r|0];return n},isSpecCompliantForm:function(e){return!!(e&&Ot(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(n,r){if(Nt(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[r]=n;var a=kt(n)?[]:{};return Dt(n,(function(t,n){var i=e(t,r+1);!Et(i)&&(a[n]=i)})),t[r]=void 0,a}}return n}(e,0)}};function Qt(e,t,n,r,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),a&&(this.response=a)}Xt.inherits(Qt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Xt.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Jt=Qt.prototype,Zt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){Zt[e]={value:e}})),Object.defineProperties(Qt,Zt),Object.defineProperty(Jt,"isAxiosError",{value:!0}),Qt.from=function(e,t,n,r,a,i){var o=Object.create(Jt);return Xt.toFlatObject(e,o,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),Qt.call(o,e.message,t,n,r,a),o.cause=e,o.name=e.name,i&&Object.assign(o,i),o};var en=Qt,tn=null;function nn(e){return Xt.isPlainObject(e)||Xt.isArray(e)}function rn(e){return Xt.endsWith(e,"[]")?e.slice(0,-2):e}function an(e,t,n){return e?e.concat(t).map((function(e,t){return e=rn(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}var on=Xt.toFlatObject(Xt,{},null,(function(e){return/^is[A-Z]/.test(e)}));var sn=function(e,t,n){if(!Xt.isObject(e))throw new TypeError("target must be an object");t=t||new(tn||FormData);var r=(n=Xt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!Xt.isUndefined(t[e])}))).metaTokens,a=n.visitor||u,i=n.dots,o=n.indexes,s=(n.Blob||"undefined"!==typeof Blob&&Blob)&&Xt.isSpecCompliantForm(t);if(!Xt.isFunction(a))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(Xt.isDate(e))return e.toISOString();if(!s&&Xt.isBlob(e))throw new en("Blob is not supported. Use a Buffer instead.");return Xt.isArrayBuffer(e)||Xt.isTypedArray(e)?s&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,a){var s=e;if(e&&!a&&"object"===typeof e)if(Xt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(Xt.isArray(e)&&function(e){return Xt.isArray(e)&&!e.some(nn)}(e)||(Xt.isFileList(e)||Xt.endsWith(n,"[]"))&&(s=Xt.toArray(e)))return n=rn(n),s.forEach((function(e,r){!Xt.isUndefined(e)&&null!==e&&t.append(!0===o?an([n],r,i):null===o?n:n+"[]",l(e))})),!1;return!!nn(e)||(t.append(an(a,n,i),l(e)),!1)}var c=[],d=Object.assign(on,{defaultVisitor:u,convertValue:l,isVisitable:nn});if(!Xt.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!Xt.isUndefined(n)){if(-1!==c.indexOf(n))throw Error("Circular reference detected in "+r.join("."));c.push(n),Xt.forEach(n,(function(n,i){!0===(!(Xt.isUndefined(n)||null===n)&&a.call(t,n,Xt.isString(i)?i.trim():i,r,d))&&e(n,r?r.concat(i):[i])})),c.pop()}}(e),t};function ln(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function un(e,t){this._pairs=[],e&&sn(e,this,t)}var cn=un.prototype;cn.append=function(e,t){this._pairs.push([e,t])},cn.toString=function(e){var t=e?function(t){return e.call(this,t,ln)}:ln;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var dn=un;function fn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function pn(e,t,n){if(!t)return e;var r,a=n&&n.encode||fn,i=n&&n.serialize;if(r=i?i(t,n):Xt.isURLSearchParams(t)?t.toString():new dn(t,n).toString(a)){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}var hn=function(){function e(){f(this,e),this.handlers=[]}return v(e,[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){Xt.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),mn=hn,vn={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},gn={isBrowser:!0,classes:{URLSearchParams:"undefined"!==typeof URLSearchParams?URLSearchParams:dn,FormData:"undefined"!==typeof FormData?FormData:null,Blob:"undefined"!==typeof Blob?Blob:null},isStandardBrowserEnv:function(){var e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)}(),isStandardBrowserWebWorkerEnv:"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts,protocols:["http","https","file","blob","url","data"]};var yn=function(e){function t(e,n,r,a){var i=e[a++],o=Number.isFinite(+i),s=a>=e.length;return i=!i&&Xt.isArray(r)?r.length:i,s?(Xt.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!o):(r[i]&&Xt.isObject(r[i])||(r[i]=[]),t(e,n,r[i],a)&&Xt.isArray(r[i])&&(r[i]=function(e){var t,n,r={},a=Object.keys(e),i=a.length;for(t=0;t<i;t++)r[n=a[t]]=e[n];return r}(r[i])),!o)}if(Xt.isFormData(e)&&Xt.isFunction(e.entries)){var n={};return Xt.forEachEntry(e,(function(e,r){t(function(e){return Xt.matchAll(/\w+|\[(\w*)]/g,e).map((function(e){return"[]"===e[0]?"":e[1]||e[0]}))}(e),r,n,0)})),n}return null},bn={"Content-Type":void 0};var wn={transitional:vn,adapter:["xhr","http"],transformRequest:[function(e,t){var n,r=t.getContentType()||"",a=r.indexOf("application/json")>-1,i=Xt.isObject(e);if(i&&Xt.isHTMLForm(e)&&(e=new FormData(e)),Xt.isFormData(e))return a&&a?JSON.stringify(yn(e)):e;if(Xt.isArrayBuffer(e)||Xt.isBuffer(e)||Xt.isStream(e)||Xt.isFile(e)||Xt.isBlob(e))return e;if(Xt.isArrayBufferView(e))return e.buffer;if(Xt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return sn(e,new gn.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return gn.isNode&&Xt.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=Xt.isFileList(e))||r.indexOf("multipart/form-data")>-1){var o=this.env&&this.env.FormData;return sn(n?{"files[]":e}:e,o&&new o,this.formSerializer)}}return i||a?(t.setContentType("application/json",!1),function(e,t,n){if(Xt.isString(e))try{return(t||JSON.parse)(e),Xt.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||wn.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&Xt.isString(e)&&(n&&!this.responseType||r)){var a=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e)}catch(i){if(a){if("SyntaxError"===i.name)throw en.from(i,en.ERR_BAD_RESPONSE,this,null,this.response);throw i}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:gn.classes.FormData,Blob:gn.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};Xt.forEach(["delete","get","head"],(function(e){wn.headers[e]={}})),Xt.forEach(["post","put","patch"],(function(e){wn.headers[e]=Xt.merge(bn)}));var xn=wn,Sn=Xt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),_n=Symbol("internals");function kn(e){return e&&String(e).trim().toLowerCase()}function En(e){return!1===e||null==e?e:Xt.isArray(e)?e.map(En):String(e)}function Tn(e,t,n,r,a){return Xt.isFunction(r)?r.call(this,t,n):(a&&(t=n),Xt.isString(t)?Xt.isString(r)?-1!==t.indexOf(r):Xt.isRegExp(r)?r.test(t):void 0:void 0)}var Cn=function(e,t){function n(e){f(this,n),e&&this.set(e)}return v(n,[{key:"set",value:function(e,t,n){var r=this;function a(e,t,n){var a=kn(t);if(!a)throw new Error("header name must be a non-empty string");var i=Xt.findKey(r,a);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=En(e))}var i=function(e,t){return Xt.forEach(e,(function(e,n){return a(e,n,t)}))};return Xt.isPlainObject(e)||e instanceof this.constructor?i(e,t):Xt.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z]+$/.test(e.trim())?i(function(e){var t,n,r,a={};return e&&e.split("\n").forEach((function(e){r=e.indexOf(":"),t=e.substring(0,r).trim().toLowerCase(),n=e.substring(r+1).trim(),!t||a[t]&&Sn[t]||("set-cookie"===t?a[t]?a[t].push(n):a[t]=[n]:a[t]=a[t]?a[t]+", "+n:n)})),a}(e),t):null!=e&&a(t,e,n),this}},{key:"get",value:function(e,t){if(e=kn(e)){var n=Xt.findKey(this,e);if(n){var r=this[n];if(!t)return r;if(!0===t)return function(e){for(var t,n=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=r.exec(e);)n[t[1]]=t[2];return n}(r);if(Xt.isFunction(t))return t.call(this,r,n);if(Xt.isRegExp(t))return t.exec(r);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=kn(e)){var n=Xt.findKey(this,e);return!(!n||void 0===this[n]||t&&!Tn(0,this[n],n,t))}return!1}},{key:"delete",value:function(e,t){var n=this,r=!1;function a(e){if(e=kn(e)){var a=Xt.findKey(n,e);!a||t&&!Tn(0,n[a],a,t)||(delete n[a],r=!0)}}return Xt.isArray(e)?e.forEach(a):a(e),r}},{key:"clear",value:function(e){for(var t=Object.keys(this),n=t.length,r=!1;n--;){var a=t[n];e&&!Tn(0,this[a],a,e,!0)||(delete this[a],r=!0)}return r}},{key:"normalize",value:function(e){var t=this,n={};return Xt.forEach(this,(function(r,a){var i=Xt.findKey(n,a);if(i)return t[i]=En(r),void delete t[a];var o=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))}(a):String(a).trim();o!==a&&delete t[a],t[o]=En(r),n[o]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(e=this.constructor).concat.apply(e,[this].concat(n))}},{key:"toJSON",value:function(e){var t=Object.create(null);return Xt.forEach(this,(function(n,r){null!=n&&!1!==n&&(t[r]=e&&Xt.isArray(n)?n.join(", "):n)})),t}},{key:Symbol.iterator,value:function(){return Object.entries(this.toJSON())[Symbol.iterator]()}},{key:"toString",value:function(){return Object.entries(this.toJSON()).map((function(e){var t=u(e,2);return t[0]+": "+t[1]})).join("\n")}},{key:Symbol.toStringTag,get:function(){return"AxiosHeaders"}}],[{key:"from",value:function(e){return e instanceof this?e:new this(e)}},{key:"concat",value:function(e){for(var t=new this(e),n=arguments.length,r=new Array(n>1?n-1:0),a=1;a<n;a++)r[a-1]=arguments[a];return r.forEach((function(e){return t.set(e)})),t}},{key:"accessor",value:function(e){var t=(this[_n]=this[_n]={accessors:{}}).accessors,n=this.prototype;function r(e){var r=kn(e);t[r]||(!function(e,t){var n=Xt.toCamelCase(" "+t);["get","set","has"].forEach((function(r){Object.defineProperty(e,r+n,{value:function(e,n,a){return this[r].call(this,t,e,n,a)},configurable:!0})}))}(n,e),t[r]=!0)}return Xt.isArray(e)?e.forEach(r):r(e),this}}]),n}();Cn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Xt.freezeMethods(Cn.prototype),Xt.freezeMethods(Cn);var On=Cn;function jn(e,t){var n=this||xn,r=t||n,a=On.from(r.headers),i=r.data;return Xt.forEach(e,(function(e){i=e.call(n,i,a.normalize(),t?t.status:void 0)})),a.normalize(),i}function Nn(e){return!(!e||!e.__CANCEL__)}function Pn(e,t,n){en.call(this,null==e?"canceled":e,en.ERR_CANCELED,t,n),this.name="CanceledError"}Xt.inherits(Pn,en,{__CANCEL__:!0});var Ln=Pn;var Mn=gn.isStandardBrowserEnv?{write:function(e,t,n,r,a,i){var o=[];o.push(e+"="+encodeURIComponent(t)),Xt.isNumber(n)&&o.push("expires="+new Date(n).toGMTString()),Xt.isString(r)&&o.push("path="+r),Xt.isString(a)&&o.push("domain="+a),!0===i&&o.push("secure"),document.cookie=o.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function In(e,t){return e&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)?function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var Rn=gn.isStandardBrowserEnv?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function r(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=r(window.location.href),function(t){var n=Xt.isString(t)?r(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0};var An=function(e,t){e=e||10;var n,r=new Array(e),a=new Array(e),i=0,o=0;return t=void 0!==t?t:1e3,function(s){var l=Date.now(),u=a[o];n||(n=l),r[i]=s,a[i]=l;for(var c=o,d=0;c!==i;)d+=r[c++],c%=e;if((i=(i+1)%e)===o&&(o=(o+1)%e),!(l-n<t)){var f=u&&l-u;return f?Math.round(1e3*d/f):void 0}}};function Dn(e,t){var n=0,r=An(50,250);return function(a){var i=a.loaded,o=a.lengthComputable?a.total:void 0,s=i-n,l=r(s);n=i;var u={loaded:i,total:o,progress:o?i/o:void 0,bytes:s,rate:l||void 0,estimated:l&&o&&i<=o?(o-i)/l:void 0,event:a};u[t?"download":"upload"]=!0,e(u)}}var zn="undefined"!==typeof XMLHttpRequest&&function(e){return new Promise((function(t,n){var r,a=e.data,i=On.from(e.headers).normalize(),o=e.responseType;function s(){e.cancelToken&&e.cancelToken.unsubscribe(r),e.signal&&e.signal.removeEventListener("abort",r)}Xt.isFormData(a)&&(gn.isStandardBrowserEnv||gn.isStandardBrowserWebWorkerEnv)&&i.setContentType(!1);var l=new XMLHttpRequest;if(e.auth){var u=e.auth.username||"",c=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(u+":"+c))}var d=In(e.baseURL,e.url);function f(){if(l){var r=On.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(e,t,n){var r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new en("Request failed with status code "+n.status,[en.ERR_BAD_REQUEST,en.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}((function(e){t(e),s()}),(function(e){n(e),s()}),{data:o&&"text"!==o&&"json"!==o?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:e,request:l}),l=null}}if(l.open(e.method.toUpperCase(),pn(d,e.params,e.paramsSerializer),!0),l.timeout=e.timeout,"onloadend"in l?l.onloadend=f:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(f)},l.onabort=function(){l&&(n(new en("Request aborted",en.ECONNABORTED,e,l)),l=null)},l.onerror=function(){n(new en("Network Error",en.ERR_NETWORK,e,l)),l=null},l.ontimeout=function(){var t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",r=e.transitional||vn;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new en(t,r.clarifyTimeoutError?en.ETIMEDOUT:en.ECONNABORTED,e,l)),l=null},gn.isStandardBrowserEnv){var p=(e.withCredentials||Rn(d))&&e.xsrfCookieName&&Mn.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}void 0===a&&i.setContentType(null),"setRequestHeader"in l&&Xt.forEach(i.toJSON(),(function(e,t){l.setRequestHeader(t,e)})),Xt.isUndefined(e.withCredentials)||(l.withCredentials=!!e.withCredentials),o&&"json"!==o&&(l.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&l.addEventListener("progress",Dn(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",Dn(e.onUploadProgress)),(e.cancelToken||e.signal)&&(r=function(t){l&&(n(!t||t.type?new Ln(null,e,l):t),l.abort(),l=null)},e.cancelToken&&e.cancelToken.subscribe(r),e.signal&&(e.signal.aborted?r():e.signal.addEventListener("abort",r)));var h=function(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(d);h&&-1===gn.protocols.indexOf(h)?n(new en("Unsupported protocol "+h+":",en.ERR_BAD_REQUEST,e)):l.send(a||null)}))},Fn={http:tn,xhr:zn};Xt.forEach(Fn,(function(e,t){if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));var Bn={getAdapter:function(e){for(var t,n,r=(e=Xt.isArray(e)?e:[e]).length,a=0;a<r&&(t=e[a],!(n=Xt.isString(t)?Fn[t.toLowerCase()]:t));a++);if(!n){if(!1===n)throw new en("Adapter ".concat(t," is not supported by the environment"),"ERR_NOT_SUPPORT");throw new Error(Xt.hasOwnProp(Fn,t)?"Adapter '".concat(t,"' is not available in the build"):"Unknown adapter '".concat(t,"'"))}if(!Xt.isFunction(n))throw new TypeError("adapter is not a function");return n},adapters:Fn};function Vn(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ln(null,e)}function Un(e){return Vn(e),e.headers=On.from(e.headers),e.data=jn.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Bn.getAdapter(e.adapter||xn.adapter)(e).then((function(t){return Vn(e),t.data=jn.call(e,e.transformResponse,t),t.headers=On.from(t.headers),t}),(function(t){return Nn(t)||(Vn(e),t&&t.response&&(t.response.data=jn.call(e,e.transformResponse,t.response),t.response.headers=On.from(t.response.headers))),Promise.reject(t)}))}var Hn=function(e){return e instanceof On?e.toJSON():e};function Wn(e,t){t=t||{};var n={};function r(e,t,n){return Xt.isPlainObject(e)&&Xt.isPlainObject(t)?Xt.merge.call({caseless:n},e,t):Xt.isPlainObject(t)?Xt.merge({},t):Xt.isArray(t)?t.slice():t}function a(e,t,n){return Xt.isUndefined(t)?Xt.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!Xt.isUndefined(t))return r(void 0,t)}function o(e,t){return Xt.isUndefined(t)?Xt.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function s(n,a,i){return i in t?r(n,a):i in e?r(void 0,n):void 0}var l={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:s,headers:function(e,t){return a(Hn(e),Hn(t),!0)}};return Xt.forEach(Object.keys(e).concat(Object.keys(t)),(function(r){var i=l[r]||a,o=i(e[r],t[r],r);Xt.isUndefined(o)&&i!==s||(n[r]=o)})),n}var Gn="1.3.4",$n={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){$n[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var qn={};$n.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Gn+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,a,i){if(!1===e)throw new en(r(a," has been removed"+(t?" in "+t:"")),en.ERR_DEPRECATED);return t&&!qn[a]&&(qn[a]=!0,console.warn(r(a," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,a,i)}};var Kn={assertOptions:function(e,t,n){if("object"!==typeof e)throw new en("options must be an object",en.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(e),a=r.length;a-- >0;){var i=r[a],o=t[i];if(o){var s=e[i],l=void 0===s||o(s,i,e);if(!0!==l)throw new en("option "+i+" must be "+l,en.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new en("Unknown option "+i,en.ERR_BAD_OPTION)}},validators:$n},Yn=Kn.validators,Xn=function(){function e(t){f(this,e),this.defaults=t,this.interceptors={request:new mn,response:new mn}}return v(e,[{key:"request",value:function(e,t){"string"===typeof e?(t=t||{}).url=e:t=e||{};var n,r=t=Wn(this.defaults,t),a=r.transitional,i=r.paramsSerializer,o=r.headers;void 0!==a&&Kn.assertOptions(a,{silentJSONParsing:Yn.transitional(Yn.boolean),forcedJSONParsing:Yn.transitional(Yn.boolean),clarifyTimeoutError:Yn.transitional(Yn.boolean)},!1),void 0!==i&&Kn.assertOptions(i,{encode:Yn.function,serialize:Yn.function},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase(),(n=o&&Xt.merge(o.common,o[t.method]))&&Xt.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete o[e]})),t.headers=On.concat(n,o);var s=[],l=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(l=l&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var u,c=[];this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));var d,f=0;if(!l){var p=[Un.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,c),d=p.length,u=Promise.resolve(t);f<d;)u=u.then(p[f++],p[f++]);return u}d=s.length;var h=t;for(f=0;f<d;){var m=s[f++],v=s[f++];try{h=m(h)}catch(g){v.call(this,g);break}}try{u=Un.call(this,h)}catch(g){return Promise.reject(g)}for(f=0,d=c.length;f<d;)u=u.then(c[f++],c[f++]);return u}},{key:"getUri",value:function(e){return pn(In((e=Wn(this.defaults,e)).baseURL,e.url),e.params,e.paramsSerializer)}}]),e}();Xt.forEach(["delete","get","head","options"],(function(e){Xn.prototype[e]=function(t,n){return this.request(Wn(n||{},{method:e,url:t,data:(n||{}).data}))}})),Xt.forEach(["post","put","patch"],(function(e){function t(t){return function(n,r,a){return this.request(Wn(a||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Xn.prototype[e]=t(),Xn.prototype[e+"Form"]=t(!0)}));var Qn=Xn,Jn=function(){function e(t){if(f(this,e),"function"!==typeof t)throw new TypeError("executor must be a function.");var n;this.promise=new Promise((function(e){n=e}));var r=this;this.promise.then((function(e){if(r._listeners){for(var t=r._listeners.length;t-- >0;)r._listeners[t](e);r._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){r.subscribe(e),t=e})).then(e);return n.cancel=function(){r.unsubscribe(t)},n},t((function(e,t,a){r.reason||(r.reason=new Ln(e,t,a),n(r.reason))}))}return v(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),Zn=Jn;var er={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(er).forEach((function(e){var t=u(e,2),n=t[0],r=t[1];er[r]=n}));var tr=er;var nr=function e(t){var n=new Qn(t),r=gt(Qn.prototype.request,n);return Xt.extend(r,Qn.prototype,n,{allOwnKeys:!0}),Xt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(Wn(t,n))},r}(xn);nr.Axios=Qn,nr.CanceledError=Ln,nr.CancelToken=Zn,nr.isCancel=Nn,nr.VERSION=Gn,nr.toFormData=sn,nr.AxiosError=en,nr.Cancel=nr.CanceledError,nr.all=function(e){return Promise.all(e)},nr.spread=function(e){return function(t){return e.apply(null,t)}},nr.isAxiosError=function(e){return Xt.isObject(e)&&!0===e.isAxiosError},nr.mergeConfig=Wn,nr.AxiosHeaders=On,nr.formToJSON=function(e){return yn(Xt.isHTMLForm(e)?new FormData(e):e)},nr.HttpStatusCode=tr,nr.default=nr;var rr=nr,ar="2e30963c61f74dac97f2c89f3b62186e",ir=function(){function e(){f(this,e)}return v(e,null,[{key:"getGamesList",value:function(){var e=pt(dt().mark((function e(){var t,n,r,a,i=arguments;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:20,n=i.length>1&&void 0!==i[1]?i[1]:1,r=i.length>2?i[2]:void 0,e.next=5,rr.get("https://api.rawg.io/api/games?key=".concat(ar),{params:{platforms:r,page_size:t,page:n}});case 5:return a=e.sent,e.abrupt("return",a);case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()},{key:"getGamesListBySearch",value:function(){var e=pt(dt().mark((function e(t,n,r){var a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?key=".concat(ar),{params:{search:t,page_size:n,page:r}});case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},{key:"getGamesListByParam",value:function(){var e=pt(dt().mark((function e(t){var n,r,a,i,o=arguments;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:20,r=o.length>2&&void 0!==o[2]?o[2]:1,a=o.length>3?o[3]:void 0,e.next=5,rr.get("https://api.rawg.io/api/games?key=".concat(ar),{params:{ordering:t,platforms:a,page_size:n,page:r}});case 5:return i=e.sent,e.abrupt("return",i);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getGameBySlug",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getGameAchiviementsById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/achievements?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getGameScreenshotsById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/screenshots?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getStoreGameById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/stores?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getRedditPostsById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/reddit?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getGameAdditionsById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/additions?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}();var or=n.p+"static/media/playstation.ecb9f256bdbf6e0d2914b23c25096282.svg";var sr=n.p+"static/media/xbox.73ae45c0cec2e50a903d3ab1f821f069.svg";var lr=n.p+"static/media/windows.1eb2ae366b46e9c7cd72873a6650ecca.svg";var ur=n.p+"static/media/android.ef4997b7782caa544f442954df607657.svg";var cr=n.p+"static/media/nintendo.04fcc2fb82e356e8eabdf981c94862d3.svg";var dr=n.p+"static/media/ios.1be1267a0da8e718fb07e270e018e43f.svg",fr=function(e){var t=e.platforms,n={},r={"PlayStation 5":or,"PlayStation 4":or,"PlayStation 3":or,"PS Vita":or,"Xbox Series S/X":sr,"Xbox 360":sr,"Xbox One":sr,Android:ur,"Nintendo Switch":cr,iOS:dr,macOS:dr,PC:lr,Linux:lr};return(0,tt.jsx)("ul",{className:"platforms",children:null!==t?t.map((function(e,t){var a=r[e.platform.name];return a&&!n[a]?(n[a]=!0,(0,tt.jsx)("li",{className:"platform",children:(0,tt.jsx)(Ke,{to:"/platforms/".concat(e.platform.id),children:(0,tt.jsx)("img",{src:r[e.platform.name],alt:"platform-icon"})})},t)):null})):null})},pr=function(e){var t=parseFloat(e).toFixed(2);return"00"===t.split(".")[0]?t+".00":t},hr=function(e){var t=e.type,n=e.rating,r=e.metacritic,a="",i="";if("metacritic"===t)switch(!0){case r>=80:i="greenRating";break;case r<80&&r>50:i="orangeRating";break;case r<=50:i="redRating";break;default:return null}if("rating"===t)switch(!0){case n>=4:a="greenRating";break;case n<5&&n>=3:a="orangeRating";break;case n<3:a="redRating";break;default:return null}return(0,tt.jsx)(tt.Fragment,{children:"rating"===t?0===n?(0,tt.jsx)("span",{className:"rating-none",children:"none"}):(0,tt.jsx)("span",{className:"label-rating "+a,children:pr(n)}):null===r?(0,tt.jsx)("span",{className:"rating-none",children:"none"}):(0,tt.jsx)("span",{className:"label-metacritic "+i,children:r})})};var mr=n.p+"static/media/add_white_24dp.197a2501aa3068d097db4c47c4d5803e.svg",vr=function(e){var t=e.game;return(0,tt.jsxs)("div",{className:"game-item",children:[(0,tt.jsx)("div",{className:"game-item__photo",children:null===t.background_image?(0,tt.jsx)("img",{src:"http://dummyimage.com/290x180.png/99cccc&text=No+Image",alt:"game"}):(0,tt.jsx)(st.LazyLoadImage,{src:t.background_image,width:320,height:180,placeholderSrc:"https://via.placeholder.com/320x180/f2f2f2/969696.jpeg?text=+",effect:"blur"})}),(0,tt.jsxs)("div",{className:"game-item__content",children:[(0,tt.jsx)(fr,{platforms:t.platforms}),(0,tt.jsx)(Ke,{to:"/games/".concat(t.slug),className:"game-item__name",children:t.name}),null===t.released?(0,tt.jsxs)("div",{className:"game-item__released",children:[(0,tt.jsx)("span",{className:"label-none",children:"Released: "}),(0,tt.jsx)("span",{className:"released-none",children:"none"})]}):(0,tt.jsxs)("div",{className:"game-item__released",children:[(0,tt.jsx)("span",{className:"label",children:"Released: "}),t.released]}),(0,tt.jsxs)("div",{className:"game-item__rating",children:[(0,tt.jsx)("span",{className:"label",children:"Rating: "}),(0,tt.jsx)(hr,{type:"rating",rating:t.rating})]}),(0,tt.jsxs)("div",{className:"game-item__metacritic",children:[(0,tt.jsx)("span",{className:"label",children:"Metacritic: "}),(0,tt.jsx)(hr,{type:"metacritic",metacritic:t.metacritic})]}),(0,tt.jsxs)("div",{className:"game-item__panel",children:[(0,tt.jsxs)("div",{className:"game-item__added",children:[(0,tt.jsx)("span",{className:"game-item__added__icon",children:(0,tt.jsx)("img",{src:mr,alt:"plus-icon"})}),(0,tt.jsx)("span",{className:"label-added",children:t.added})]}),(0,tt.jsx)("div",{className:"game-item__details",children:(0,tt.jsx)(Ke,{to:"/games/".concat(t.slug),className:"game-item__button",children:"Details"})})]})]})]})},gr=function(e){var t=e.gamesList,n=e.displayMode;return(0,tt.jsx)("div",{className:"games-list",children:(0,tt.jsx)("ul",{className:"column"===n?"games-list__ul column":"games-list__ul list",children:t.map((function(e){return(0,tt.jsx)("li",{className:"column"===n?"games-list__li default":"games-list__li big",children:(0,tt.jsx)(vr,{game:e})},e.id)}))})})},yr=(0,t.memo)(gr);function br(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var wr=["defaultInputValue","defaultMenuIsOpen","defaultValue","inputValue","menuIsOpen","onChange","onInputChange","onMenuClose","onMenuOpen","value"];function xr(){return xr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xr.apply(this,arguments)}var Sr=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(r){0}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){return e.parentNode&&e.parentNode.removeChild(e)})),this.tags=[],this.ctr=0},e}(),_r=Math.abs,kr=String.fromCharCode,Er=Object.assign;function Tr(e){return e.trim()}function Cr(e,t,n){return e.replace(t,n)}function Or(e,t){return e.indexOf(t)}function jr(e,t){return 0|e.charCodeAt(t)}function Nr(e,t,n){return e.slice(t,n)}function Pr(e){return e.length}function Lr(e){return e.length}function Mr(e,t){return t.push(e),e}var Ir=1,Rr=1,Ar=0,Dr=0,zr=0,Fr="";function Br(e,t,n,r,a,i,o){return{value:e,root:t,parent:n,type:r,props:a,children:i,line:Ir,column:Rr,length:o,return:""}}function Vr(e,t){return Er(Br("",null,null,"",null,null,0),e,{length:-e.length},t)}function Ur(){return zr=Dr>0?jr(Fr,--Dr):0,Rr--,10===zr&&(Rr=1,Ir--),zr}function Hr(){return zr=Dr<Ar?jr(Fr,Dr++):0,Rr++,10===zr&&(Rr=1,Ir++),zr}function Wr(){return jr(Fr,Dr)}function Gr(){return Dr}function $r(e,t){return Nr(Fr,e,t)}function qr(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Kr(e){return Ir=Rr=1,Ar=Pr(Fr=e),Dr=0,[]}function Yr(e){return Fr="",e}function Xr(e){return Tr($r(Dr-1,Zr(91===e?e+2:40===e?e+1:e)))}function Qr(e){for(;(zr=Wr())&&zr<33;)Hr();return qr(e)>2||qr(zr)>3?"":" "}function Jr(e,t){for(;--t&&Hr()&&!(zr<48||zr>102||zr>57&&zr<65||zr>70&&zr<97););return $r(e,Gr()+(t<6&&32==Wr()&&32==Hr()))}function Zr(e){for(;Hr();)switch(zr){case e:return Dr;case 34:case 39:34!==e&&39!==e&&Zr(zr);break;case 40:41===e&&Zr(e);break;case 92:Hr()}return Dr}function ea(e,t){for(;Hr()&&e+zr!==57&&(e+zr!==84||47!==Wr()););return"/*"+$r(t,Dr-1)+"*"+kr(47===e?e:Hr())}function ta(e){for(;!qr(Wr());)Hr();return $r(e,Dr)}var na="-ms-",ra="-moz-",aa="-webkit-",ia="comm",oa="rule",sa="decl",la="@import",ua="@keyframes";function ca(e,t){for(var n="",r=Lr(e),a=0;a<r;a++)n+=t(e[a],a,e,t)||"";return n}function da(e,t,n,r){switch(e.type){case la:case sa:return e.return=e.return||e.value;case ia:return"";case ua:return e.return=e.value+"{"+ca(e.children,r)+"}";case oa:e.value=e.props.join(",")}return Pr(n=ca(e.children,r))?e.return=e.value+"{"+n+"}":""}function fa(e){return Yr(pa("",null,null,null,[""],e=Kr(e),0,[0],e))}function pa(e,t,n,r,a,i,o,s,l){for(var u=0,c=0,d=o,f=0,p=0,h=0,m=1,v=1,g=1,y=0,b="",w=a,x=i,S=r,_=b;v;)switch(h=y,y=Hr()){case 40:if(108!=h&&58==jr(_,d-1)){-1!=Or(_+=Cr(Xr(y),"&","&\f"),"&\f")&&(g=-1);break}case 34:case 39:case 91:_+=Xr(y);break;case 9:case 10:case 13:case 32:_+=Qr(h);break;case 92:_+=Jr(Gr()-1,7);continue;case 47:switch(Wr()){case 42:case 47:Mr(ma(ea(Hr(),Gr()),t,n),l);break;default:_+="/"}break;case 123*m:s[u++]=Pr(_)*g;case 125*m:case 59:case 0:switch(y){case 0:case 125:v=0;case 59+c:p>0&&Pr(_)-d&&Mr(p>32?va(_+";",r,n,d-1):va(Cr(_," ","")+";",r,n,d-2),l);break;case 59:_+=";";default:if(Mr(S=ha(_,t,n,u,c,a,s,b,w=[],x=[],d),i),123===y)if(0===c)pa(_,t,S,S,w,i,d,s,x);else switch(99===f&&110===jr(_,3)?100:f){case 100:case 109:case 115:pa(e,S,S,r&&Mr(ha(e,S,S,0,0,a,s,b,a,w=[],d),x),a,x,d,s,r?w:x);break;default:pa(_,S,S,S,[""],x,0,s,x)}}u=c=p=0,m=g=1,b=_="",d=o;break;case 58:d=1+Pr(_),p=h;default:if(m<1)if(123==y)--m;else if(125==y&&0==m++&&125==Ur())continue;switch(_+=kr(y),y*m){case 38:g=c>0?1:(_+="\f",-1);break;case 44:s[u++]=(Pr(_)-1)*g,g=1;break;case 64:45===Wr()&&(_+=Xr(Hr())),f=Wr(),c=d=Pr(b=_+=ta(Gr())),y++;break;case 45:45===h&&2==Pr(_)&&(m=0)}}return i}function ha(e,t,n,r,a,i,o,s,l,u,c){for(var d=a-1,f=0===a?i:[""],p=Lr(f),h=0,m=0,v=0;h<r;++h)for(var g=0,y=Nr(e,d+1,d=_r(m=o[h])),b=e;g<p;++g)(b=Tr(m>0?f[g]+" "+y:Cr(y,/&\f/g,f[g])))&&(l[v++]=b);return Br(e,t,n,0===a?oa:s,l,u,c)}function ma(e,t,n){return Br(e,t,n,ia,kr(zr),Nr(e,2,-2),0)}function va(e,t,n,r){return Br(e,t,n,sa,Nr(e,0,r),Nr(e,r+1,-1),r)}var ga=function(e,t,n){for(var r=0,a=0;r=a,a=Wr(),38===r&&12===a&&(t[n]=1),!qr(a);)Hr();return $r(e,Dr)},ya=function(e,t){return Yr(function(e,t){var n=-1,r=44;do{switch(qr(r)){case 0:38===r&&12===Wr()&&(t[n]=1),e[n]+=ga(Dr-1,t,n);break;case 2:e[n]+=Xr(r);break;case 4:if(44===r){e[++n]=58===Wr()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=kr(r)}}while(r=Hr());return e}(Kr(e),t))},ba=new WeakMap,wa=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ba.get(n))&&!r){ba.set(e,!0);for(var a=[],i=ya(t,a),o=n.props,s=0,l=0;s<i.length;s++)for(var u=0;u<o.length;u++,l++)e.props[l]=a[s]?i[s].replace(/&\f/g,o[u]):o[u]+" "+i[s]}}},xa=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}};function Sa(e,t){switch(function(e,t){return 45^jr(e,0)?(((t<<2^jr(e,0))<<2^jr(e,1))<<2^jr(e,2))<<2^jr(e,3):0}(e,t)){case 5103:return aa+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return aa+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return aa+e+ra+e+na+e+e;case 6828:case 4268:return aa+e+na+e+e;case 6165:return aa+e+na+"flex-"+e+e;case 5187:return aa+e+Cr(e,/(\w+).+(:[^]+)/,aa+"box-$1$2"+na+"flex-$1$2")+e;case 5443:return aa+e+na+"flex-item-"+Cr(e,/flex-|-self/,"")+e;case 4675:return aa+e+na+"flex-line-pack"+Cr(e,/align-content|flex-|-self/,"")+e;case 5548:return aa+e+na+Cr(e,"shrink","negative")+e;case 5292:return aa+e+na+Cr(e,"basis","preferred-size")+e;case 6060:return aa+"box-"+Cr(e,"-grow","")+aa+e+na+Cr(e,"grow","positive")+e;case 4554:return aa+Cr(e,/([^-])(transform)/g,"$1"+aa+"$2")+e;case 6187:return Cr(Cr(Cr(e,/(zoom-|grab)/,aa+"$1"),/(image-set)/,aa+"$1"),e,"")+e;case 5495:case 3959:return Cr(e,/(image-set\([^]*)/,aa+"$1$`$1");case 4968:return Cr(Cr(e,/(.+:)(flex-)?(.*)/,aa+"box-pack:$3"+na+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+aa+e+e;case 4095:case 3583:case 4068:case 2532:return Cr(e,/(.+)-inline(.+)/,aa+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Pr(e)-1-t>6)switch(jr(e,t+1)){case 109:if(45!==jr(e,t+4))break;case 102:return Cr(e,/(.+:)(.+)-([^]+)/,"$1"+aa+"$2-$3$1"+ra+(108==jr(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Or(e,"stretch")?Sa(Cr(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==jr(e,t+1))break;case 6444:switch(jr(e,Pr(e)-3-(~Or(e,"!important")&&10))){case 107:return Cr(e,":",":"+aa)+e;case 101:return Cr(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+aa+(45===jr(e,14)?"inline-":"")+"box$3$1"+aa+"$2$3$1"+na+"$2box$3")+e}break;case 5936:switch(jr(e,t+11)){case 114:return aa+e+na+Cr(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return aa+e+na+Cr(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return aa+e+na+Cr(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return aa+e+na+e+e}return e}var _a=[function(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case sa:e.return=Sa(e.value,e.length);break;case ua:return ca([Vr(e,{value:Cr(e.value,"@","@"+aa)})],r);case oa:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return ca([Vr(e,{props:[Cr(t,/:(read-\w+)/,":"+ra+"$1")]})],r);case"::placeholder":return ca([Vr(e,{props:[Cr(t,/:(plac\w+)/,":"+aa+"input-$1")]}),Vr(e,{props:[Cr(t,/:(plac\w+)/,":"+ra+"$1")]}),Vr(e,{props:[Cr(t,/:(plac\w+)/,na+"input-$1")]})],r)}return""}))}}],ka=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var r=e.stylisPlugins||_a;var a,i,o={},s=[];a=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n<t.length;n++)o[t[n]]=!0;s.push(e)}));var l,u,c=[da,(u=function(e){l.insert(e)},function(e){e.root||(e=e.return)&&u(e)})],d=function(e){var t=Lr(e);return function(n,r,a,i){for(var o="",s=0;s<t;s++)o+=e[s](n,r,a,i)||"";return o}}([wa,xa].concat(r,c));i=function(e,t,n,r){l=n,ca(fa(e?e+"{"+t.styles+"}":t.styles),d),r&&(f.inserted[t.name]=!0)};var f={key:t,sheet:new Sr({key:t,container:a,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:i};return f.sheet.hydrate(s),f};var Ea=function(e,t,n){var r=e.key+"-"+t.name;!1===n&&void 0===e.registered[r]&&(e.registered[r]=t.styles)};var Ta=function(e){for(var t,n=0,r=0,a=e.length;a>=4;++r,a-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(a){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},Ca={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var Oa=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}},ja=/[A-Z]|^ms/g,Na=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Pa=function(e){return 45===e.charCodeAt(1)},La=function(e){return null!=e&&"boolean"!==typeof e},Ma=Oa((function(e){return Pa(e)?e:e.replace(ja,"-$&").toLowerCase()})),Ia=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(Na,(function(e,t,n){return Aa={name:t,styles:n,next:Aa},t}))}return 1===Ca[e]||Pa(e)||"number"!==typeof t||0===t?t:t+"px"};function Ra(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return Aa={name:n.name,styles:n.styles,next:Aa},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)Aa={name:r.name,styles:r.styles,next:Aa},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var a=0;a<n.length;a++)r+=Ra(e,t,n[a])+";";else for(var i in n){var o=n[i];if("object"!==typeof o)null!=t&&void 0!==t[o]?r+=i+"{"+t[o]+"}":La(o)&&(r+=Ma(i)+":"+Ia(i,o)+";");else if(!Array.isArray(o)||"string"!==typeof o[0]||null!=t&&void 0!==t[o[0]]){var s=Ra(e,t,o);switch(i){case"animation":case"animationName":r+=Ma(i)+":"+s+";";break;default:r+=i+"{"+s+"}"}}else for(var l=0;l<o.length;l++)La(o[l])&&(r+=Ma(i)+":"+Ia(i,o[l])+";")}return r}(e,t,n);case"function":if(void 0!==e){var a=Aa,i=n(e);return Aa=a,Ra(e,t,i)}}if(null==t)return n;var o=t[n];return void 0!==o?o:n}var Aa,Da=/label:\s*([^\s;\n{]+)\s*(;|$)/g;var za=function(e,t,n){if(1===e.length&&"object"===typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];var r=!0,a="";Aa=void 0;var i=e[0];null==i||void 0===i.raw?(r=!1,a+=Ra(n,t,i)):a+=i[0];for(var o=1;o<e.length;o++)a+=Ra(n,t,e[o]),r&&(a+=i[o]);Da.lastIndex=0;for(var s,l="";null!==(s=Da.exec(a));)l+="-"+s[1];return{name:Ta(a)+l,styles:a,next:Aa}},Fa=!!r.useInsertionEffect&&r.useInsertionEffect,Ba=Fa||function(e){return e()},Va=(Fa||t.useLayoutEffect,{}.hasOwnProperty),Ua=(0,t.createContext)("undefined"!==typeof HTMLElement?ka({key:"css"}):null);Ua.Provider;var Ha=function(e){return(0,t.forwardRef)((function(n,r){var a=(0,t.useContext)(Ua);return e(n,a,r)}))},Wa=(0,t.createContext)({});var Ga="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",$a=function(e,t){var n={};for(var r in t)Va.call(t,r)&&(n[r]=t[r]);return n[Ga]=e,n},qa=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;Ea(t,n,r);Ba((function(){return function(e,t,n){Ea(e,t,n);var r=e.key+"-"+t.name;if(void 0===e.inserted[t.name]){var a=t;do{e.insert(t===a?"."+r:"",a,e.sheet,!0),a=a.next}while(void 0!==a)}}(t,n,r)}));return null},Ka=Ha((function(e,n,r){var a=e.css;"string"===typeof a&&void 0!==n.registered[a]&&(a=n.registered[a]);var i=e[Ga],o=[a],s="";"string"===typeof e.className?s=function(e,t,n){var r="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):r+=n+" "})),r}(n.registered,o,e.className):null!=e.className&&(s=e.className+" ");var l=za(o,void 0,(0,t.useContext)(Wa));s+=n.key+"-"+l.name;var u={};for(var c in e)Va.call(e,c)&&"css"!==c&&c!==Ga&&(u[c]=e[c]);return u.ref=r,u.className=s,(0,t.createElement)(t.Fragment,null,(0,t.createElement)(qa,{cache:n,serialized:l,isStringTag:"string"===typeof i}),(0,t.createElement)(i,u))}));var Ya=n(110),Xa=n.n(Ya),Qa=function(e,n){var r=arguments;if(null==n||!Va.call(n,"css"))return t.createElement.apply(void 0,r);var a=r.length,i=new Array(a);i[0]=Ka,i[1]=$a(e,n);for(var o=2;o<a;o++)i[o]=r[o];return t.createElement.apply(null,i)};function Ja(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return za(t)}var Za=n(164);function ei(e){return et(et({},e),{},{top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height})}Math.min,Math.max;var ti=["top","right","bottom","left"];ti.reduce((function(e,t){return e.concat(t,t+"-start",t+"-end")}),[]);function ni(e){var t;return(null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function ri(e){return ni(e).getComputedStyle(e)}Math.min,Math.max;var ai,ii=Math.round;function oi(e){var t=ri(e),n=parseFloat(t.width),r=parseFloat(t.height),a=e.offsetWidth,i=e.offsetHeight,o=ii(n)!==a||ii(r)!==i;return o&&(n=a,r=i),{width:n,height:r,fallback:o}}function si(e){return di(e)?(e.nodeName||"").toLowerCase():""}function li(){if(ai)return ai;var e=navigator.userAgentData;return e&&Array.isArray(e.brands)?ai=e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function ui(e){return e instanceof ni(e).HTMLElement}function ci(e){return e instanceof ni(e).Element}function di(e){return e instanceof ni(e).Node}function fi(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ni(e).ShadowRoot||e instanceof ShadowRoot)}function pi(e){var t=ri(e),n=t.overflow,r=t.overflowX,a=t.overflowY,i=t.display;return/auto|scroll|overlay|hidden|clip/.test(n+a+r)&&!["inline","contents"].includes(i)}function hi(){return/^((?!chrome|android).)*safari/i.test(li())}function mi(e){return["html","body","#document"].includes(si(e))}function vi(e){return ci(e)?e:e.contextElement}var gi={x:1,y:1};function yi(e){var t=vi(e);if(!ui(t))return gi;var n=t.getBoundingClientRect(),r=oi(t),a=r.width,i=r.height,o=r.fallback,s=(o?ii(n.width):n.width)/a,l=(o?ii(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),l&&Number.isFinite(l)||(l=1),{x:s,y:l}}function bi(e,t,n,r){var a,i;void 0===t&&(t=!1),void 0===n&&(n=!1);var o=e.getBoundingClientRect(),s=vi(e),l=gi;t&&(r?ci(r)&&(l=yi(r)):l=yi(e));var u=s?ni(s):window,c=hi()&&n,d=(o.left+(c&&(null==(a=u.visualViewport)?void 0:a.offsetLeft)||0))/l.x,f=(o.top+(c&&(null==(i=u.visualViewport)?void 0:i.offsetTop)||0))/l.y,p=o.width/l.x,h=o.height/l.y;if(s)for(var m=ni(s),v=r&&ci(r)?ni(r):r,g=m.frameElement;g&&r&&v!==m;){var y=yi(g),b=g.getBoundingClientRect(),w=getComputedStyle(g);b.x+=(g.clientLeft+parseFloat(w.paddingLeft))*y.x,b.y+=(g.clientTop+parseFloat(w.paddingTop))*y.y,d*=y.x,f*=y.y,p*=y.x,h*=y.y,d+=b.x,f+=b.y,g=ni(g).frameElement}return ei({width:p,height:h,x:d,y:f})}function wi(e){return((di(e)?e.ownerDocument:e.document)||window.document).documentElement}function xi(e){if("html"===si(e))return e;var t=e.assignedSlot||e.parentNode||fi(e)&&e.host||wi(e);return fi(t)?t.host:t}function Si(e){var t=xi(e);return mi(t)?t.ownerDocument.body:ui(t)&&pi(t)?t:Si(t)}function _i(e,t){var n;void 0===t&&(t=[]);var r=Si(e),a=r===(null==(n=e.ownerDocument)?void 0:n.body),i=ni(r);return a?t.concat(i,i.visualViewport||[],pi(r)?r:[]):t.concat(r,_i(r))}var ki=t.useLayoutEffect,Ei=["className","clearValue","cx","getStyles","getClassNames","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"],Ti=function(){};function Ci(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function Oi(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a<n;a++)r[a-2]=arguments[a];var i=[].concat(r);if(t&&e)for(var o in t)t.hasOwnProperty(o)&&t[o]&&i.push("".concat(Ci(e,o)));return i.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}var ji=function(e){return t=e,Array.isArray(t)?e.filter(Boolean):"object"===p(e)&&null!==e?[e]:[];var t},Ni=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getClassNames,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,et({},br(e,Ei))},Pi=function(e,t,n){var r=e.cx,a=e.getStyles,i=e.getClassNames,o=e.className;return{css:a(t,e),className:r(null!==n&&void 0!==n?n:{},i(t,e),o)}};function Li(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function Mi(e){return Li(e)?window.pageYOffset:e.scrollTop}function Ii(e,t){Li(e)?window.scrollTo(0,t):e.scrollTop=t}function Ri(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ti,a=Mi(e),i=t-a,o=10,s=0;!function t(){var l=function(e,t,n,r){return n*((e=e/r-1)*e*e+1)+t}(s+=o,a,i,n);Ii(e,l),s<n?window.requestAnimationFrame(t):r(e)}()}function Ai(e,t){var n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=t.offsetHeight/3;r.bottom+a>n.bottom?Ii(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+a,e.scrollHeight)):r.top-a<n.top&&Ii(e,Math.max(t.offsetTop-a,0))}function Di(){try{return document.createEvent("TouchEvent"),!0}catch(e){return!1}}var zi=!1,Fi={get passive(){return zi=!0}},Bi="undefined"!==typeof window?window:{};Bi.addEventListener&&Bi.removeEventListener&&(Bi.addEventListener("p",Ti,Fi),Bi.removeEventListener("p",Ti,!1));var Vi=zi;function Ui(e){return null!=e}function Hi(e,t,n){return e?t:n}var Wi=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=Object.entries(e).filter((function(e){var t=u(e,1)[0];return!n.includes(t)}));return a.reduce((function(e,t){var n=u(t,2),r=n[0],a=n[1];return e[r]=a,e}),{})};function Gi(e){var t=e.maxHeight,n=e.menuEl,r=e.minHeight,a=e.placement,i=e.shouldScroll,o=e.isFixedPosition,s=e.controlHeight,l=function(e){var t=getComputedStyle(e),n="absolute"===t.position,r=/(auto|scroll)/;if("fixed"===t.position)return document.documentElement;for(var a=e;a=a.parentElement;)if(t=getComputedStyle(a),(!n||"static"!==t.position)&&r.test(t.overflow+t.overflowY+t.overflowX))return a;return document.documentElement}(n),u={placement:"bottom",maxHeight:t};if(!n||!n.offsetParent)return u;var c,d=l.getBoundingClientRect().height,f=n.getBoundingClientRect(),p=f.bottom,h=f.height,m=f.top,v=n.offsetParent.getBoundingClientRect().top,g=o?window.innerHeight:Li(c=l)?window.innerHeight:c.clientHeight,y=Mi(l),b=parseInt(getComputedStyle(n).marginBottom,10),w=parseInt(getComputedStyle(n).marginTop,10),x=v-w,S=g-m,_=x+y,k=d-y-m,E=p-g+y+b,T=y+m-w,C=160;switch(a){case"auto":case"bottom":if(S>=h)return{placement:"bottom",maxHeight:t};if(k>=h&&!o)return i&&Ri(l,E,C),{placement:"bottom",maxHeight:t};if(!o&&k>=r||o&&S>=r)return i&&Ri(l,E,C),{placement:"bottom",maxHeight:o?S-b:k-b};if("auto"===a||o){var O=t,j=o?x:_;return j>=r&&(O=Math.min(j-b-s,t)),{placement:"top",maxHeight:O}}if("bottom"===a)return i&&Ii(l,E),{placement:"bottom",maxHeight:t};break;case"top":if(x>=h)return{placement:"top",maxHeight:t};if(_>=h&&!o)return i&&Ri(l,T,C),{placement:"top",maxHeight:t};if(!o&&_>=r||o&&x>=r){var N=t;return(!o&&_>=r||o&&x>=r)&&(N=o?x-w:_-w),i&&Ri(l,T,C),{placement:"top",maxHeight:N}}return{placement:"bottom",maxHeight:t};default:throw new Error('Invalid placement provided "'.concat(a,'".'))}return u}var $i=function(e){return"auto"===e?"bottom":e},qi=(0,t.createContext)(null),Ki=function(e){var n=e.children,r=e.minMenuHeight,a=e.maxMenuHeight,i=e.menuPlacement,o=e.menuPosition,s=e.menuShouldScrollIntoView,l=e.theme,c=((0,t.useContext)(qi)||{}).setPortalPlacement,d=(0,t.useRef)(null),f=u((0,t.useState)(a),2),p=f[0],h=f[1],m=u((0,t.useState)(null),2),v=m[0],g=m[1],y=l.spacing.controlHeight;return ki((function(){var e=d.current;if(e){var t="fixed"===o,n=Gi({maxHeight:a,menuEl:e,minHeight:r,placement:i,shouldScroll:s&&!t,isFixedPosition:t,controlHeight:y});h(n.maxHeight),g(n.placement),null===c||void 0===c||c(n.placement)}}),[a,i,o,s,r,c,y]),n({ref:d,placerProps:et(et({},e),{},{placement:v||$i(i),maxHeight:p})})},Yi=function(e,t){var n=e.theme,r=n.spacing.baseUnit,a=n.colors;return et({textAlign:"center"},t?{}:{color:a.neutral40,padding:"".concat(2*r,"px ").concat(3*r,"px")})},Xi=Yi,Qi=Yi,Ji=function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),n),t)};Ji.defaultProps={children:"No options"};var Zi=function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),n),t)};Zi.defaultProps={children:"Loading..."};var eo,to=["size"];var no,ro,ao={name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"},io=function(e){var t=e.size,n=br(e,to);return Qa("svg",xr({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:ao},n))},oo=function(e){return Qa(io,xr({size:20},e),Qa("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},so=function(e){return Qa(io,xr({size:20},e),Qa("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},lo=function(e,t){var n=e.isFocused,r=e.theme,a=r.spacing.baseUnit,i=r.colors;return et({label:"indicatorContainer",display:"flex",transition:"color 150ms"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*a,":hover":{color:n?i.neutral80:i.neutral40}})},uo=lo,co=lo,fo=function(){var e=Ja.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(eo||(no=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],ro||(ro=no.slice(0)),eo=Object.freeze(Object.defineProperties(no,{raw:{value:Object.freeze(ro)}})))),po=function(e){var t=e.delay,n=e.offset;return Qa("span",{css:Ja({animation:"".concat(fo," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"","")})},ho=function(e){var t=e.innerProps,n=e.isRtl;return Qa("div",xr({},Pi(e,"loadingIndicator",{indicator:!0,"loading-indicator":!0}),t),Qa(po,{delay:0,offset:n}),Qa(po,{delay:160,offset:!0}),Qa(po,{delay:320,offset:!n}))};ho.defaultProps={size:4};var mo=["data"],vo=["innerRef","isDisabled","isHidden","inputClassName"],go={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0},yo={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":et({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},go)},bo=function(e){return et({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},go)},wo=function(e){var t=e.children,n=e.innerProps;return Qa("div",n,t)};var xo={ClearIndicator:function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),n),t||Qa(oo,null))},Control:function(e){var t=e.children,n=e.isDisabled,r=e.isFocused,a=e.innerRef,i=e.innerProps,o=e.menuIsOpen;return Qa("div",xr({ref:a},Pi(e,"control",{control:!0,"control--is-disabled":n,"control--is-focused":r,"control--menu-is-open":o}),i),t)},DropdownIndicator:function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),n),t||Qa(so,null))},DownChevron:so,CrossIcon:oo,Group:function(e){var t=e.children,n=e.cx,r=e.getStyles,a=e.getClassNames,i=e.Heading,o=e.headingProps,s=e.innerProps,l=e.label,u=e.theme,c=e.selectProps;return Qa("div",xr({},Pi(e,"group",{group:!0}),s),Qa(i,xr({},o,{selectProps:c,theme:u,getStyles:r,getClassNames:a,cx:n}),l),Qa("div",null,t))},GroupHeading:function(e){var t=Ni(e);t.data;var n=br(t,mo);return Qa("div",xr({},Pi(e,"groupHeading",{"group-heading":!0}),n))},IndicatorsContainer:function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"indicatorsContainer",{indicators:!0}),n),t)},IndicatorSeparator:function(e){var t=e.innerProps;return Qa("span",xr({},t,Pi(e,"indicatorSeparator",{"indicator-separator":!0})))},Input:function(e){var t=e.cx,n=e.value,r=Ni(e),a=r.innerRef,i=r.isDisabled,o=r.isHidden,s=r.inputClassName,l=br(r,vo);return Qa("div",xr({},Pi(e,"input",{"input-container":!0}),{"data-value":n||""}),Qa("input",xr({className:t({input:!0},s),ref:a,style:bo(o),disabled:i},l)))},LoadingIndicator:ho,Menu:function(e){var t=e.children,n=e.innerRef,r=e.innerProps;return Qa("div",xr({},Pi(e,"menu",{menu:!0}),{ref:n},r),t)},MenuList:function(e){var t=e.children,n=e.innerProps,r=e.innerRef,a=e.isMulti;return Qa("div",xr({},Pi(e,"menuList",{"menu-list":!0,"menu-list--is-multi":a}),{ref:r},n),t)},MenuPortal:function(e){var n=e.appendTo,r=e.children,a=e.controlElement,i=e.innerProps,o=e.menuPlacement,s=e.menuPosition,l=(0,t.useRef)(null),c=(0,t.useRef)(null),f=u((0,t.useState)($i(o)),2),p=f[0],h=f[1],m=(0,t.useMemo)((function(){return{setPortalPlacement:h}}),[]),v=u((0,t.useState)(null),2),g=v[0],y=v[1],b=(0,t.useCallback)((function(){if(a){var e=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(a),t="fixed"===s?0:window.pageYOffset,n=e[p]+t;n===(null===g||void 0===g?void 0:g.offset)&&e.left===(null===g||void 0===g?void 0:g.rect.left)&&e.width===(null===g||void 0===g?void 0:g.rect.width)||y({offset:n,rect:e})}}),[a,s,p,null===g||void 0===g?void 0:g.offset,null===g||void 0===g?void 0:g.rect.left,null===g||void 0===g?void 0:g.rect.width]);ki((function(){b()}),[b]);var w=(0,t.useCallback)((function(){"function"===typeof c.current&&(c.current(),c.current=null),a&&l.current&&(c.current=function(e,t,n,r){void 0===r&&(r={});var a=r,i=a.ancestorScroll,o=void 0===i||i,s=a.ancestorResize,l=void 0===s||s,u=a.elementResize,c=void 0===u||u,f=a.animationFrame,p=void 0!==f&&f,h=o&&!p,m=h||l?[].concat(d(ci(e)?_i(e):e.contextElement?_i(e.contextElement):[]),d(_i(t))):[];m.forEach((function(e){h&&e.addEventListener("scroll",n,{passive:!0}),l&&e.addEventListener("resize",n)}));var v,g=null;if(c){var y=!0;g=new ResizeObserver((function(){y||n(),y=!1})),ci(e)&&!p&&g.observe(e),ci(e)||!e.contextElement||p||g.observe(e.contextElement),g.observe(t)}var b=p?bi(e):null;return p&&function t(){var r=bi(e);!b||r.x===b.x&&r.y===b.y&&r.width===b.width&&r.height===b.height||n(),b=r,v=requestAnimationFrame(t)}(),n(),function(){var e;m.forEach((function(e){h&&e.removeEventListener("scroll",n),l&&e.removeEventListener("resize",n)})),null==(e=g)||e.disconnect(),g=null,p&&cancelAnimationFrame(v)}}(a,l.current,b,{elementResize:"ResizeObserver"in window}))}),[a,b]);ki((function(){w()}),[w]);var x=(0,t.useCallback)((function(e){l.current=e,w()}),[w]);if(!n&&"fixed"!==s||!g)return null;var S=Qa("div",xr({ref:x},Pi(et(et({},e),{},{offset:g.offset,position:s,rect:g.rect}),"menuPortal",{"menu-portal":!0}),i),r);return Qa(qi.Provider,{value:m},n?(0,Za.createPortal)(S,n):S)},LoadingMessage:Zi,NoOptionsMessage:Ji,MultiValue:function(e){var t=e.children,n=e.components,r=e.data,a=e.innerProps,i=e.isDisabled,o=e.removeProps,s=e.selectProps,l=n.Container,u=n.Label,c=n.Remove;return Qa(l,{data:r,innerProps:et(et({},Pi(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":i})),a),selectProps:s},Qa(u,{data:r,innerProps:et({},Pi(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:s},t),Qa(c,{data:r,innerProps:et(et({},Pi(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(t||"option")},o),selectProps:s}))},MultiValueContainer:wo,MultiValueLabel:wo,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({role:"button"},n),t||Qa(oo,{size:14}))},Option:function(e){var t=e.children,n=e.isDisabled,r=e.isFocused,a=e.isSelected,i=e.innerRef,o=e.innerProps;return Qa("div",xr({},Pi(e,"option",{option:!0,"option--is-disabled":n,"option--is-focused":r,"option--is-selected":a}),{ref:i,"aria-disabled":n},o),t)},Placeholder:function(e){var t=e.children,n=e.innerProps;return Qa("div",xr({},Pi(e,"placeholder",{placeholder:!0}),n),t)},SelectContainer:function(e){var t=e.children,n=e.innerProps,r=e.isDisabled,a=e.isRtl;return Qa("div",xr({},Pi(e,"container",{"--is-disabled":r,"--is-rtl":a}),n),t)},SingleValue:function(e){var t=e.children,n=e.isDisabled,r=e.innerProps;return Qa("div",xr({},Pi(e,"singleValue",{"single-value":!0,"single-value--is-disabled":n}),r),t)},ValueContainer:function(e){var t=e.children,n=e.innerProps,r=e.isMulti,a=e.hasValue;return Qa("div",xr({},Pi(e,"valueContainer",{"value-container":!0,"value-container--is-multi":r,"value-container--has-value":a}),n),t)}},So=function(e){return et(et({},xo),e.components)},_o=Number.isNaN||function(e){return"number"===typeof e&&e!==e};function ko(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(r=e[n],a=t[n],!(r===a||_o(r)&&_o(a)))return!1;var r,a;return!0}for(var Eo={name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"},To=function(e){return Qa("span",xr({css:Eo},e))},Co={guidance:function(e){var t=e.isSearchable,n=e.isMulti,r=e.isDisabled,a=e.tabSelectsValue;switch(e.context){case"menu":return"Use Up and Down to choose options".concat(r?"":", press Enter to select the currently focused option",", press Escape to exit the menu").concat(a?", press Tab to select the option and exit the menu":"",".");case"input":return"".concat(e["aria-label"]||"Select"," is focused ").concat(t?",type to refine list":"",", press Down to open the menu, ").concat(n?" press left to focus selected values":"");case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value";default:return""}},onChange:function(e){var t=e.action,n=e.label,r=void 0===n?"":n,a=e.labels,i=e.isDisabled;switch(t){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(r,", deselected.");case"clear":return"All selected options have been cleared.";case"initial-input-focus":return"option".concat(a.length>1?"s":""," ").concat(a.join(","),", selected.");case"select-option":return"option ".concat(r,i?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t=e.context,n=e.focused,r=e.options,a=e.label,i=void 0===a?"":a,o=e.selectValue,s=e.isDisabled,l=e.isSelected,u=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};if("value"===t&&o)return"value ".concat(i," focused, ").concat(u(o,n),".");if("menu"===t){var c=s?" disabled":"",d="".concat(l?"selected":"focused").concat(c);return"option ".concat(i," ").concat(d,", ").concat(u(r,n),".")}return""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},Oo=function(e){var n=e.ariaSelection,r=e.focusedOption,a=e.focusedValue,i=e.focusableOptions,o=e.isFocused,s=e.selectValue,l=e.selectProps,u=e.id,c=l.ariaLiveMessages,d=l.getOptionLabel,f=l.inputValue,p=l.isMulti,h=l.isOptionDisabled,m=l.isSearchable,v=l.menuIsOpen,g=l.options,y=l.screenReaderStatus,b=l.tabSelectsValue,w=l["aria-label"],x=l["aria-live"],S=(0,t.useMemo)((function(){return et(et({},Co),c||{})}),[c]),_=(0,t.useMemo)((function(){var e,t="";if(n&&S.onChange){var r=n.option,a=n.options,i=n.removedValue,o=n.removedValues,l=n.value,u=i||r||(e=l,Array.isArray(e)?null:e),c=u?d(u):"",f=a||o||void 0,p=f?f.map(d):[],m=et({isDisabled:u&&h(u,s),label:c,labels:p},n);t=S.onChange(m)}return t}),[n,S,h,s,d]),k=(0,t.useMemo)((function(){var e="",t=r||a,n=!!(r&&s&&s.includes(r));if(t&&S.onFocus){var o={focused:t,label:d(t),isDisabled:h(t,s),isSelected:n,options:i,context:t===r?"menu":"value",selectValue:s};e=S.onFocus(o)}return e}),[r,a,d,h,S,i,s]),E=(0,t.useMemo)((function(){var e="";if(v&&g.length&&S.onFilter){var t=y({count:i.length});e=S.onFilter({inputValue:f,resultsMessage:t})}return e}),[i,f,v,S,g,y]),T=(0,t.useMemo)((function(){var e="";if(S.guidance){var t=a?"value":v?"menu":"input";e=S.guidance({"aria-label":w,context:t,isDisabled:r&&h(r,s),isMulti:p,isSearchable:m,tabSelectsValue:b})}return e}),[w,r,a,p,h,m,v,S,s,b]),C="".concat(k," ").concat(E," ").concat(T),O=Qa(t.Fragment,null,Qa("span",{id:"aria-selection"},_),Qa("span",{id:"aria-context"},C)),j="initial-input-focus"===(null===n||void 0===n?void 0:n.action);return Qa(t.Fragment,null,Qa(To,{id:u},j&&O),Qa(To,{"aria-live":x,"aria-atomic":"false","aria-relevant":"additions text"},o&&!j&&O))},jo=[{base:"A",letters:"A\u24b6\uff21\xc0\xc1\xc2\u1ea6\u1ea4\u1eaa\u1ea8\xc3\u0100\u0102\u1eb0\u1eae\u1eb4\u1eb2\u0226\u01e0\xc4\u01de\u1ea2\xc5\u01fa\u01cd\u0200\u0202\u1ea0\u1eac\u1eb6\u1e00\u0104\u023a\u2c6f"},{base:"AA",letters:"\ua732"},{base:"AE",letters:"\xc6\u01fc\u01e2"},{base:"AO",letters:"\ua734"},{base:"AU",letters:"\ua736"},{base:"AV",letters:"\ua738\ua73a"},{base:"AY",letters:"\ua73c"},{base:"B",letters:"B\u24b7\uff22\u1e02\u1e04\u1e06\u0243\u0182\u0181"},{base:"C",letters:"C\u24b8\uff23\u0106\u0108\u010a\u010c\xc7\u1e08\u0187\u023b\ua73e"},{base:"D",letters:"D\u24b9\uff24\u1e0a\u010e\u1e0c\u1e10\u1e12\u1e0e\u0110\u018b\u018a\u0189\ua779"},{base:"DZ",letters:"\u01f1\u01c4"},{base:"Dz",letters:"\u01f2\u01c5"},{base:"E",letters:"E\u24ba\uff25\xc8\xc9\xca\u1ec0\u1ebe\u1ec4\u1ec2\u1ebc\u0112\u1e14\u1e16\u0114\u0116\xcb\u1eba\u011a\u0204\u0206\u1eb8\u1ec6\u0228\u1e1c\u0118\u1e18\u1e1a\u0190\u018e"},{base:"F",letters:"F\u24bb\uff26\u1e1e\u0191\ua77b"},{base:"G",letters:"G\u24bc\uff27\u01f4\u011c\u1e20\u011e\u0120\u01e6\u0122\u01e4\u0193\ua7a0\ua77d\ua77e"},{base:"H",letters:"H\u24bd\uff28\u0124\u1e22\u1e26\u021e\u1e24\u1e28\u1e2a\u0126\u2c67\u2c75\ua78d"},{base:"I",letters:"I\u24be\uff29\xcc\xcd\xce\u0128\u012a\u012c\u0130\xcf\u1e2e\u1ec8\u01cf\u0208\u020a\u1eca\u012e\u1e2c\u0197"},{base:"J",letters:"J\u24bf\uff2a\u0134\u0248"},{base:"K",letters:"K\u24c0\uff2b\u1e30\u01e8\u1e32\u0136\u1e34\u0198\u2c69\ua740\ua742\ua744\ua7a2"},{base:"L",letters:"L\u24c1\uff2c\u013f\u0139\u013d\u1e36\u1e38\u013b\u1e3c\u1e3a\u0141\u023d\u2c62\u2c60\ua748\ua746\ua780"},{base:"LJ",letters:"\u01c7"},{base:"Lj",letters:"\u01c8"},{base:"M",letters:"M\u24c2\uff2d\u1e3e\u1e40\u1e42\u2c6e\u019c"},{base:"N",letters:"N\u24c3\uff2e\u01f8\u0143\xd1\u1e44\u0147\u1e46\u0145\u1e4a\u1e48\u0220\u019d\ua790\ua7a4"},{base:"NJ",letters:"\u01ca"},{base:"Nj",letters:"\u01cb"},{base:"O",letters:"O\u24c4\uff2f\xd2\xd3\xd4\u1ed2\u1ed0\u1ed6\u1ed4\xd5\u1e4c\u022c\u1e4e\u014c\u1e50\u1e52\u014e\u022e\u0230\xd6\u022a\u1ece\u0150\u01d1\u020c\u020e\u01a0\u1edc\u1eda\u1ee0\u1ede\u1ee2\u1ecc\u1ed8\u01ea\u01ec\xd8\u01fe\u0186\u019f\ua74a\ua74c"},{base:"OI",letters:"\u01a2"},{base:"OO",letters:"\ua74e"},{base:"OU",letters:"\u0222"},{base:"P",letters:"P\u24c5\uff30\u1e54\u1e56\u01a4\u2c63\ua750\ua752\ua754"},{base:"Q",letters:"Q\u24c6\uff31\ua756\ua758\u024a"},{base:"R",letters:"R\u24c7\uff32\u0154\u1e58\u0158\u0210\u0212\u1e5a\u1e5c\u0156\u1e5e\u024c\u2c64\ua75a\ua7a6\ua782"},{base:"S",letters:"S\u24c8\uff33\u1e9e\u015a\u1e64\u015c\u1e60\u0160\u1e66\u1e62\u1e68\u0218\u015e\u2c7e\ua7a8\ua784"},{base:"T",letters:"T\u24c9\uff34\u1e6a\u0164\u1e6c\u021a\u0162\u1e70\u1e6e\u0166\u01ac\u01ae\u023e\ua786"},{base:"TZ",letters:"\ua728"},{base:"U",letters:"U\u24ca\uff35\xd9\xda\xdb\u0168\u1e78\u016a\u1e7a\u016c\xdc\u01db\u01d7\u01d5\u01d9\u1ee6\u016e\u0170\u01d3\u0214\u0216\u01af\u1eea\u1ee8\u1eee\u1eec\u1ef0\u1ee4\u1e72\u0172\u1e76\u1e74\u0244"},{base:"V",letters:"V\u24cb\uff36\u1e7c\u1e7e\u01b2\ua75e\u0245"},{base:"VY",letters:"\ua760"},{base:"W",letters:"W\u24cc\uff37\u1e80\u1e82\u0174\u1e86\u1e84\u1e88\u2c72"},{base:"X",letters:"X\u24cd\uff38\u1e8a\u1e8c"},{base:"Y",letters:"Y\u24ce\uff39\u1ef2\xdd\u0176\u1ef8\u0232\u1e8e\u0178\u1ef6\u1ef4\u01b3\u024e\u1efe"},{base:"Z",letters:"Z\u24cf\uff3a\u0179\u1e90\u017b\u017d\u1e92\u1e94\u01b5\u0224\u2c7f\u2c6b\ua762"},{base:"a",letters:"a\u24d0\uff41\u1e9a\xe0\xe1\xe2\u1ea7\u1ea5\u1eab\u1ea9\xe3\u0101\u0103\u1eb1\u1eaf\u1eb5\u1eb3\u0227\u01e1\xe4\u01df\u1ea3\xe5\u01fb\u01ce\u0201\u0203\u1ea1\u1ead\u1eb7\u1e01\u0105\u2c65\u0250"},{base:"aa",letters:"\ua733"},{base:"ae",letters:"\xe6\u01fd\u01e3"},{base:"ao",letters:"\ua735"},{base:"au",letters:"\ua737"},{base:"av",letters:"\ua739\ua73b"},{base:"ay",letters:"\ua73d"},{base:"b",letters:"b\u24d1\uff42\u1e03\u1e05\u1e07\u0180\u0183\u0253"},{base:"c",letters:"c\u24d2\uff43\u0107\u0109\u010b\u010d\xe7\u1e09\u0188\u023c\ua73f\u2184"},{base:"d",letters:"d\u24d3\uff44\u1e0b\u010f\u1e0d\u1e11\u1e13\u1e0f\u0111\u018c\u0256\u0257\ua77a"},{base:"dz",letters:"\u01f3\u01c6"},{base:"e",letters:"e\u24d4\uff45\xe8\xe9\xea\u1ec1\u1ebf\u1ec5\u1ec3\u1ebd\u0113\u1e15\u1e17\u0115\u0117\xeb\u1ebb\u011b\u0205\u0207\u1eb9\u1ec7\u0229\u1e1d\u0119\u1e19\u1e1b\u0247\u025b\u01dd"},{base:"f",letters:"f\u24d5\uff46\u1e1f\u0192\ua77c"},{base:"g",letters:"g\u24d6\uff47\u01f5\u011d\u1e21\u011f\u0121\u01e7\u0123\u01e5\u0260\ua7a1\u1d79\ua77f"},{base:"h",letters:"h\u24d7\uff48\u0125\u1e23\u1e27\u021f\u1e25\u1e29\u1e2b\u1e96\u0127\u2c68\u2c76\u0265"},{base:"hv",letters:"\u0195"},{base:"i",letters:"i\u24d8\uff49\xec\xed\xee\u0129\u012b\u012d\xef\u1e2f\u1ec9\u01d0\u0209\u020b\u1ecb\u012f\u1e2d\u0268\u0131"},{base:"j",letters:"j\u24d9\uff4a\u0135\u01f0\u0249"},{base:"k",letters:"k\u24da\uff4b\u1e31\u01e9\u1e33\u0137\u1e35\u0199\u2c6a\ua741\ua743\ua745\ua7a3"},{base:"l",letters:"l\u24db\uff4c\u0140\u013a\u013e\u1e37\u1e39\u013c\u1e3d\u1e3b\u017f\u0142\u019a\u026b\u2c61\ua749\ua781\ua747"},{base:"lj",letters:"\u01c9"},{base:"m",letters:"m\u24dc\uff4d\u1e3f\u1e41\u1e43\u0271\u026f"},{base:"n",letters:"n\u24dd\uff4e\u01f9\u0144\xf1\u1e45\u0148\u1e47\u0146\u1e4b\u1e49\u019e\u0272\u0149\ua791\ua7a5"},{base:"nj",letters:"\u01cc"},{base:"o",letters:"o\u24de\uff4f\xf2\xf3\xf4\u1ed3\u1ed1\u1ed7\u1ed5\xf5\u1e4d\u022d\u1e4f\u014d\u1e51\u1e53\u014f\u022f\u0231\xf6\u022b\u1ecf\u0151\u01d2\u020d\u020f\u01a1\u1edd\u1edb\u1ee1\u1edf\u1ee3\u1ecd\u1ed9\u01eb\u01ed\xf8\u01ff\u0254\ua74b\ua74d\u0275"},{base:"oi",letters:"\u01a3"},{base:"ou",letters:"\u0223"},{base:"oo",letters:"\ua74f"},{base:"p",letters:"p\u24df\uff50\u1e55\u1e57\u01a5\u1d7d\ua751\ua753\ua755"},{base:"q",letters:"q\u24e0\uff51\u024b\ua757\ua759"},{base:"r",letters:"r\u24e1\uff52\u0155\u1e59\u0159\u0211\u0213\u1e5b\u1e5d\u0157\u1e5f\u024d\u027d\ua75b\ua7a7\ua783"},{base:"s",letters:"s\u24e2\uff53\xdf\u015b\u1e65\u015d\u1e61\u0161\u1e67\u1e63\u1e69\u0219\u015f\u023f\ua7a9\ua785\u1e9b"},{base:"t",letters:"t\u24e3\uff54\u1e6b\u1e97\u0165\u1e6d\u021b\u0163\u1e71\u1e6f\u0167\u01ad\u0288\u2c66\ua787"},{base:"tz",letters:"\ua729"},{base:"u",letters:"u\u24e4\uff55\xf9\xfa\xfb\u0169\u1e79\u016b\u1e7b\u016d\xfc\u01dc\u01d8\u01d6\u01da\u1ee7\u016f\u0171\u01d4\u0215\u0217\u01b0\u1eeb\u1ee9\u1eef\u1eed\u1ef1\u1ee5\u1e73\u0173\u1e77\u1e75\u0289"},{base:"v",letters:"v\u24e5\uff56\u1e7d\u1e7f\u028b\ua75f\u028c"},{base:"vy",letters:"\ua761"},{base:"w",letters:"w\u24e6\uff57\u1e81\u1e83\u0175\u1e87\u1e85\u1e98\u1e89\u2c73"},{base:"x",letters:"x\u24e7\uff58\u1e8b\u1e8d"},{base:"y",letters:"y\u24e8\uff59\u1ef3\xfd\u0177\u1ef9\u0233\u1e8f\xff\u1ef7\u1e99\u1ef5\u01b4\u024f\u1eff"},{base:"z",letters:"z\u24e9\uff5a\u017a\u1e91\u017c\u017e\u1e93\u1e95\u01b6\u0225\u0240\u2c6c\ua763"}],No=new RegExp("["+jo.map((function(e){return e.letters})).join("")+"]","g"),Po={},Lo=0;Lo<jo.length;Lo++)for(var Mo=jo[Lo],Io=0;Io<Mo.letters.length;Io++)Po[Mo.letters[Io]]=Mo.base;var Ro=function(e){return e.replace(No,(function(e){return Po[e]}))},Ao=function(e,t){void 0===t&&(t=ko);var n=null;function r(){for(var r=[],a=0;a<arguments.length;a++)r[a]=arguments[a];if(n&&n.lastThis===this&&t(r,n.lastArgs))return n.lastResult;var i=e.apply(this,r);return n={lastResult:i,lastArgs:r,lastThis:this},i}return r.clear=function(){n=null},r}(Ro),Do=function(e){return e.replace(/^\s+|\s+$/g,"")},zo=function(e){return"".concat(e.label," ").concat(e.value)},Fo=["innerRef"];function Bo(e){var t=e.innerRef,n=br(e,Fo),r=Wi(n,"onExited","in","enter","exit","appear");return Qa("input",xr({ref:t},r,{css:Ja({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"","")}))}var Vo=function(e){e.preventDefault(),e.stopPropagation()};var Uo=["boxSizing","height","overflow","paddingRight","position"],Ho={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"};function Wo(e){e.preventDefault()}function Go(e){e.stopPropagation()}function $o(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function qo(){return"ontouchstart"in window||navigator.maxTouchPoints}var Ko=!("undefined"===typeof window||!window.document||!window.document.createElement),Yo=0,Xo={capture:!1,passive:!1};var Qo=function(){return document.activeElement&&document.activeElement.blur()},Jo={name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"};function Zo(e){var n=e.children,r=e.lockEnabled,a=e.captureEnabled,i=function(e){var n=e.isEnabled,r=e.onBottomArrive,a=e.onBottomLeave,i=e.onTopArrive,o=e.onTopLeave,s=(0,t.useRef)(!1),l=(0,t.useRef)(!1),u=(0,t.useRef)(0),c=(0,t.useRef)(null),d=(0,t.useCallback)((function(e,t){if(null!==c.current){var n=c.current,u=n.scrollTop,d=n.scrollHeight,f=n.clientHeight,p=c.current,h=t>0,m=d-f-u,v=!1;m>t&&s.current&&(a&&a(e),s.current=!1),h&&l.current&&(o&&o(e),l.current=!1),h&&t>m?(r&&!s.current&&r(e),p.scrollTop=d,v=!0,s.current=!0):!h&&-t>u&&(i&&!l.current&&i(e),p.scrollTop=0,v=!0,l.current=!0),v&&Vo(e)}}),[r,a,i,o]),f=(0,t.useCallback)((function(e){d(e,e.deltaY)}),[d]),p=(0,t.useCallback)((function(e){u.current=e.changedTouches[0].clientY}),[]),h=(0,t.useCallback)((function(e){var t=u.current-e.changedTouches[0].clientY;d(e,t)}),[d]),m=(0,t.useCallback)((function(e){if(e){var t=!!Vi&&{passive:!1};e.addEventListener("wheel",f,t),e.addEventListener("touchstart",p,t),e.addEventListener("touchmove",h,t)}}),[h,p,f]),v=(0,t.useCallback)((function(e){e&&(e.removeEventListener("wheel",f,!1),e.removeEventListener("touchstart",p,!1),e.removeEventListener("touchmove",h,!1))}),[h,p,f]);return(0,t.useEffect)((function(){if(n){var e=c.current;return m(e),function(){v(e)}}}),[n,m,v]),function(e){c.current=e}}({isEnabled:void 0===a||a,onBottomArrive:e.onBottomArrive,onBottomLeave:e.onBottomLeave,onTopArrive:e.onTopArrive,onTopLeave:e.onTopLeave}),o=function(e){var n=e.isEnabled,r=e.accountForScrollbars,a=void 0===r||r,i=(0,t.useRef)({}),o=(0,t.useRef)(null),s=(0,t.useCallback)((function(e){if(Ko){var t=document.body,n=t&&t.style;if(a&&Uo.forEach((function(e){var t=n&&n[e];i.current[e]=t})),a&&Yo<1){var r=parseInt(i.current.paddingRight,10)||0,o=document.body?document.body.clientWidth:0,s=window.innerWidth-o+r||0;Object.keys(Ho).forEach((function(e){var t=Ho[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(s,"px"))}t&&qo()&&(t.addEventListener("touchmove",Wo,Xo),e&&(e.addEventListener("touchstart",$o,Xo),e.addEventListener("touchmove",Go,Xo))),Yo+=1}}),[a]),l=(0,t.useCallback)((function(e){if(Ko){var t=document.body,n=t&&t.style;Yo=Math.max(Yo-1,0),a&&Yo<1&&Uo.forEach((function(e){var t=i.current[e];n&&(n[e]=t)})),t&&qo()&&(t.removeEventListener("touchmove",Wo,Xo),e&&(e.removeEventListener("touchstart",$o,Xo),e.removeEventListener("touchmove",Go,Xo)))}}),[a]);return(0,t.useEffect)((function(){if(n){var e=o.current;return s(e),function(){l(e)}}}),[n,s,l]),function(e){o.current=e}}({isEnabled:r});return Qa(t.Fragment,null,r&&Qa("div",{onClick:Qo,css:Jo}),n((function(e){i(e),o(e)})))}var es={name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"},ts=function(e){var t=e.name,n=e.onFocus;return Qa("input",{required:!0,name:t,tabIndex:-1,onFocus:n,css:es,value:"",onChange:function(){}})},ns={clearIndicator:co,container:function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},control:function(e,t){var n=e.isDisabled,r=e.isFocused,a=e.theme,i=a.colors,o=a.borderRadius;return et({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:a.spacing.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},t?{}:{backgroundColor:n?i.neutral5:i.neutral0,borderColor:n?i.neutral10:r?i.primary:i.neutral20,borderRadius:o,borderStyle:"solid",borderWidth:1,boxShadow:r?"0 0 0 1px ".concat(i.primary):void 0,"&:hover":{borderColor:r?i.primary:i.neutral30}})},dropdownIndicator:uo,group:function(e,t){var n=e.theme.spacing;return t?{}:{paddingBottom:2*n.baseUnit,paddingTop:2*n.baseUnit}},groupHeading:function(e,t){var n=e.theme,r=n.colors,a=n.spacing;return et({label:"group",cursor:"default",display:"block"},t?{}:{color:r.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*a.baseUnit,paddingRight:3*a.baseUnit,textTransform:"uppercase"})},indicatorsContainer:function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},indicatorSeparator:function(e,t){var n=e.isDisabled,r=e.theme,a=r.spacing.baseUnit,i=r.colors;return et({label:"indicatorSeparator",alignSelf:"stretch",width:1},t?{}:{backgroundColor:n?i.neutral10:i.neutral20,marginBottom:2*a,marginTop:2*a})},input:function(e,t){var n=e.isDisabled,r=e.value,a=e.theme,i=a.spacing,o=a.colors;return et(et({visibility:n?"hidden":"visible",transform:r?"translateZ(0)":""},yo),t?{}:{margin:i.baseUnit/2,paddingBottom:i.baseUnit/2,paddingTop:i.baseUnit/2,color:o.neutral80})},loadingIndicator:function(e,t){var n=e.isFocused,r=e.size,a=e.theme,i=a.colors,o=a.spacing.baseUnit;return et({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:r,lineHeight:1,marginRight:r,textAlign:"center",verticalAlign:"middle"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*o})},loadingMessage:Qi,menu:function(e,t){var n,r=e.placement,a=e.theme,i=a.borderRadius,o=a.spacing,s=a.colors;return et((Je(n={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(r),"100%"),Je(n,"position","absolute"),Je(n,"width","100%"),Je(n,"zIndex",1),n),t?{}:{backgroundColor:s.neutral0,borderRadius:i,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:o.menuGutter,marginTop:o.menuGutter})},menuList:function(e,t){var n=e.maxHeight,r=e.theme.spacing.baseUnit;return et({maxHeight:n,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},t?{}:{paddingBottom:r,paddingTop:r})},menuPortal:function(e){var t=e.rect,n=e.offset,r=e.position;return{left:t.left,position:r,top:n,width:t.width,zIndex:1}},multiValue:function(e,t){var n=e.theme,r=n.spacing,a=n.borderRadius,i=n.colors;return et({label:"multiValue",display:"flex",minWidth:0},t?{}:{backgroundColor:i.neutral10,borderRadius:a/2,margin:r.baseUnit/2})},multiValueLabel:function(e,t){var n=e.theme,r=n.borderRadius,a=n.colors,i=e.cropWithEllipsis;return et({overflow:"hidden",textOverflow:i||void 0===i?"ellipsis":void 0,whiteSpace:"nowrap"},t?{}:{borderRadius:r/2,color:a.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},multiValueRemove:function(e,t){var n=e.theme,r=n.spacing,a=n.borderRadius,i=n.colors,o=e.isFocused;return et({alignItems:"center",display:"flex"},t?{}:{borderRadius:a/2,backgroundColor:o?i.dangerLight:void 0,paddingLeft:r.baseUnit,paddingRight:r.baseUnit,":hover":{backgroundColor:i.dangerLight,color:i.danger}})},noOptionsMessage:Xi,option:function(e,t){var n=e.isDisabled,r=e.isFocused,a=e.isSelected,i=e.theme,o=i.spacing,s=i.colors;return et({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},t?{}:{backgroundColor:a?s.primary:r?s.primary25:"transparent",color:n?s.neutral20:a?s.neutral0:"inherit",padding:"".concat(2*o.baseUnit,"px ").concat(3*o.baseUnit,"px"),":active":{backgroundColor:n?void 0:a?s.primary:s.primary50}})},placeholder:function(e,t){var n=e.theme,r=n.spacing,a=n.colors;return et({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},t?{}:{color:a.neutral50,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2})},singleValue:function(e,t){var n=e.isDisabled,r=e.theme,a=r.spacing,i=r.colors;return et({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t?{}:{color:n?i.neutral40:i.neutral80,marginLeft:a.baseUnit/2,marginRight:a.baseUnit/2})},valueContainer:function(e,t){var n=e.theme.spacing,r=e.isMulti,a=e.hasValue,i=e.selectProps.controlShouldRenderValue;return et({alignItems:"center",display:r&&a&&i?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},t?{}:{padding:"".concat(n.baseUnit/2,"px ").concat(2*n.baseUnit,"px")})}};var rs,as={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:4,controlHeight:38,menuGutter:8}},is={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:Di(),captureMenuScroll:!Di(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:function(e,t){if(e.data.__isNew__)return!0;var n=et({ignoreCase:!0,ignoreAccents:!0,stringify:zo,trim:!0,matchFrom:"any"},rs),r=n.ignoreCase,a=n.ignoreAccents,i=n.stringify,o=n.trim,s=n.matchFrom,l=o?Do(t):t,u=o?Do(i(e)):i(e);return r&&(l=l.toLowerCase(),u=u.toLowerCase()),a&&(l=Ao(l),u=Ro(u)),"start"===s?u.substr(0,l.length)===l:u.indexOf(l)>-1},formatGroupLabel:function(e){return e.label},getOptionLabel:function(e){return e.label},getOptionValue:function(e){return e.value},isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:function(e){return!!e.isDisabled},loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(e){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1};function os(e,t,n,r){return{type:"option",data:t,isDisabled:fs(e,t,n),isSelected:ps(e,t,n),label:cs(e,t),value:ds(e,t),index:r}}function ss(e,t){return e.options.map((function(n,r){if("options"in n){var a=n.options.map((function(n,r){return os(e,n,t,r)})).filter((function(t){return us(e,t)}));return a.length>0?{type:"group",data:n,options:a,index:r}:void 0}var i=os(e,n,t,r);return us(e,i)?i:void 0})).filter(Ui)}function ls(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,d(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function us(e,t){var n=e.inputValue,r=void 0===n?"":n,a=t.data,i=t.isSelected,o=t.label,s=t.value;return(!ms(e)||!i)&&hs(e,{label:o,value:s,data:a},r)}var cs=function(e,t){return e.getOptionLabel(t)},ds=function(e,t){return e.getOptionValue(t)};function fs(e,t,n){return"function"===typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function ps(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"===typeof e.isOptionSelected)return e.isOptionSelected(t,n);var r=ds(e,t);return n.some((function(t){return ds(e,t)===r}))}function hs(e,t,n){return!e.filterOption||e.filterOption(t,n)}var ms=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},vs=1,gs=function(e){y(r,e);var n=S(r);function r(e){var t;if(f(this,r),(t=n.call(this,e)).state={ariaSelection:null,focusedOption:null,focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0},t.blockOptionHover=!1,t.isComposing=!1,t.commonProps=void 0,t.initialTouchX=0,t.initialTouchY=0,t.instancePrefix="",t.openAfterFocus=!1,t.scrollToFocusedOptionOnUpdate=!1,t.userIsDragging=void 0,t.controlRef=null,t.getControlRef=function(e){t.controlRef=e},t.focusedOptionRef=null,t.getFocusedOptionRef=function(e){t.focusedOptionRef=e},t.menuListRef=null,t.getMenuListRef=function(e){t.menuListRef=e},t.inputRef=null,t.getInputRef=function(e){t.inputRef=e},t.focus=t.focusInput,t.blur=t.blurInput,t.onChange=function(e,n){var r=t.props,a=r.onChange,i=r.name;n.name=i,t.ariaOnChange(e,n),a(e,n)},t.setValue=function(e,n,r){var a=t.props,i=a.closeMenuOnSelect,o=a.isMulti,s=a.inputValue;t.onInputChange("",{action:"set-value",prevInputValue:s}),i&&(t.setState({inputIsHiddenAfterUpdate:!o}),t.onMenuClose()),t.setState({clearFocusValueOnUpdate:!0}),t.onChange(e,{action:n,option:r})},t.selectOption=function(e){var n=t.props,r=n.blurInputOnSelect,a=n.isMulti,i=n.name,o=t.state.selectValue,s=a&&t.isOptionSelected(e,o),l=t.isOptionDisabled(e,o);if(s){var u=t.getOptionValue(e);t.setValue(o.filter((function(e){return t.getOptionValue(e)!==u})),"deselect-option",e)}else{if(l)return void t.ariaOnChange(e,{action:"select-option",option:e,name:i});a?t.setValue([].concat(d(o),[e]),"select-option",e):t.setValue(e,"select-option")}r&&t.blurInput()},t.removeValue=function(e){var n=t.props.isMulti,r=t.state.selectValue,a=t.getOptionValue(e),i=r.filter((function(e){return t.getOptionValue(e)!==a})),o=Hi(n,i,i[0]||null);t.onChange(o,{action:"remove-value",removedValue:e}),t.focusInput()},t.clearValue=function(){var e=t.state.selectValue;t.onChange(Hi(t.props.isMulti,[],null),{action:"clear",removedValues:e})},t.popValue=function(){var e=t.props.isMulti,n=t.state.selectValue,r=n[n.length-1],a=n.slice(0,n.length-1),i=Hi(e,a,a[0]||null);t.onChange(i,{action:"pop-value",removedValue:r})},t.getValue=function(){return t.state.selectValue},t.cx=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return Oi.apply(void 0,[t.props.classNamePrefix].concat(n))},t.getOptionLabel=function(e){return cs(t.props,e)},t.getOptionValue=function(e){return ds(t.props,e)},t.getStyles=function(e,n){var r=t.props.unstyled,a=ns[e](n,r);a.boxSizing="border-box";var i=t.props.styles[e];return i?i(a,n):a},t.getClassNames=function(e,n){var r,a;return null===(r=(a=t.props.classNames)[e])||void 0===r?void 0:r.call(a,n)},t.getElementId=function(e){return"".concat(t.instancePrefix,"-").concat(e)},t.getComponents=function(){return So(t.props)},t.buildCategorizedOptions=function(){return ss(t.props,t.state.selectValue)},t.getCategorizedOptions=function(){return t.props.menuIsOpen?t.buildCategorizedOptions():[]},t.buildFocusableOptions=function(){return ls(t.buildCategorizedOptions())},t.getFocusableOptions=function(){return t.props.menuIsOpen?t.buildFocusableOptions():[]},t.ariaOnChange=function(e,n){t.setState({ariaSelection:et({value:e},n)})},t.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),t.focusInput())},t.onMenuMouseMove=function(e){t.blockOptionHover=!1},t.onControlMouseDown=function(e){if(!e.defaultPrevented){var n=t.props.openMenuOnClick;t.state.isFocused?t.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&t.onMenuClose():n&&t.openMenu("first"):(n&&(t.openAfterFocus=!0),t.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()}},t.onDropdownIndicatorMouseDown=function(e){if((!e||"mousedown"!==e.type||0===e.button)&&!t.props.isDisabled){var n=t.props,r=n.isMulti,a=n.menuIsOpen;t.focusInput(),a?(t.setState({inputIsHiddenAfterUpdate:!r}),t.onMenuClose()):t.openMenu("first"),e.preventDefault()}},t.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(t.clearValue(),e.preventDefault(),t.openAfterFocus=!1,"touchend"===e.type?t.focusInput():setTimeout((function(){return t.focusInput()})))},t.onScroll=function(e){"boolean"===typeof t.props.closeMenuOnScroll?e.target instanceof HTMLElement&&Li(e.target)&&t.props.onMenuClose():"function"===typeof t.props.closeMenuOnScroll&&t.props.closeMenuOnScroll(e)&&t.props.onMenuClose()},t.onCompositionStart=function(){t.isComposing=!0},t.onCompositionEnd=function(){t.isComposing=!1},t.onTouchStart=function(e){var n=e.touches,r=n&&n.item(0);r&&(t.initialTouchX=r.clientX,t.initialTouchY=r.clientY,t.userIsDragging=!1)},t.onTouchMove=function(e){var n=e.touches,r=n&&n.item(0);if(r){var a=Math.abs(r.clientX-t.initialTouchX),i=Math.abs(r.clientY-t.initialTouchY);t.userIsDragging=a>5||i>5}},t.onTouchEnd=function(e){t.userIsDragging||(t.controlRef&&!t.controlRef.contains(e.target)&&t.menuListRef&&!t.menuListRef.contains(e.target)&&t.blurInput(),t.initialTouchX=0,t.initialTouchY=0)},t.onControlTouchEnd=function(e){t.userIsDragging||t.onControlMouseDown(e)},t.onClearIndicatorTouchEnd=function(e){t.userIsDragging||t.onClearIndicatorMouseDown(e)},t.onDropdownIndicatorTouchEnd=function(e){t.userIsDragging||t.onDropdownIndicatorMouseDown(e)},t.handleInputChange=function(e){var n=t.props.inputValue,r=e.currentTarget.value;t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange(r,{action:"input-change",prevInputValue:n}),t.props.menuIsOpen||t.onMenuOpen()},t.onInputFocus=function(e){t.props.onFocus&&t.props.onFocus(e),t.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(t.openAfterFocus||t.props.openMenuOnFocus)&&t.openMenu("first"),t.openAfterFocus=!1},t.onInputBlur=function(e){var n=t.props.inputValue;t.menuListRef&&t.menuListRef.contains(document.activeElement)?t.inputRef.focus():(t.props.onBlur&&t.props.onBlur(e),t.onInputChange("",{action:"input-blur",prevInputValue:n}),t.onMenuClose(),t.setState({focusedValue:null,isFocused:!1}))},t.onOptionHover=function(e){t.blockOptionHover||t.state.focusedOption===e||t.setState({focusedOption:e})},t.shouldHideSelectedOptions=function(){return ms(t.props)},t.onValueInputFocus=function(e){e.preventDefault(),e.stopPropagation(),t.focus()},t.onKeyDown=function(e){var n=t.props,r=n.isMulti,a=n.backspaceRemovesValue,i=n.escapeClearsValue,o=n.inputValue,s=n.isClearable,l=n.isDisabled,u=n.menuIsOpen,c=n.onKeyDown,d=n.tabSelectsValue,f=n.openMenuOnFocus,p=t.state,h=p.focusedOption,m=p.focusedValue,v=p.selectValue;if(!l&&("function"!==typeof c||(c(e),!e.defaultPrevented))){switch(t.blockOptionHover=!0,e.key){case"ArrowLeft":if(!r||o)return;t.focusValue("previous");break;case"ArrowRight":if(!r||o)return;t.focusValue("next");break;case"Delete":case"Backspace":if(o)return;if(m)t.removeValue(m);else{if(!a)return;r?t.popValue():s&&t.clearValue()}break;case"Tab":if(t.isComposing)return;if(e.shiftKey||!u||!d||!h||f&&t.isOptionSelected(h,v))return;t.selectOption(h);break;case"Enter":if(229===e.keyCode)break;if(u){if(!h)return;if(t.isComposing)return;t.selectOption(h);break}return;case"Escape":u?(t.setState({inputIsHiddenAfterUpdate:!1}),t.onInputChange("",{action:"menu-close",prevInputValue:o}),t.onMenuClose()):s&&i&&t.clearValue();break;case" ":if(o)return;if(!u){t.openMenu("first");break}if(!h)return;t.selectOption(h);break;case"ArrowUp":u?t.focusOption("up"):t.openMenu("last");break;case"ArrowDown":u?t.focusOption("down"):t.openMenu("first");break;case"PageUp":if(!u)return;t.focusOption("pageup");break;case"PageDown":if(!u)return;t.focusOption("pagedown");break;case"Home":if(!u)return;t.focusOption("first");break;case"End":if(!u)return;t.focusOption("last");break;default:return}e.preventDefault()}},t.instancePrefix="react-select-"+(t.props.instanceId||++vs),t.state.selectValue=ji(e.value),e.menuIsOpen&&t.state.selectValue.length){var a=t.buildFocusableOptions(),i=a.indexOf(t.state.selectValue[0]);t.state.focusedOption=a[i]}return t}return v(r,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&Ai(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,r=t.menuIsOpen,a=this.state.isFocused;(a&&!n&&e.isDisabled||a&&r&&!e.menuIsOpen)&&this.focusInput(),a&&n&&!e.isDisabled?this.setState({isFocused:!1},this.onMenuClose):a||n||!e.isDisabled||this.inputRef!==document.activeElement||this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(Ai(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t=this,n=this.state,r=n.selectValue,a=n.isFocused,i=this.buildFocusableOptions(),o="first"===e?0:i.length-1;if(!this.props.isMulti){var s=i.indexOf(r[0]);s>-1&&(o=s)}this.scrollToFocusedOptionOnUpdate=!(a&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:i[o]},(function(){return t.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t=this.state,n=t.selectValue,r=t.focusedValue;if(this.props.isMulti){this.setState({focusedOption:null});var a=n.indexOf(r);r||(a=-1);var i=n.length-1,o=-1;if(n.length){switch(e){case"previous":o=0===a?0:-1===a?i:a-1;break;case"next":a>-1&&a<i&&(o=a+1)}this.setState({inputIsHidden:-1!==o,focusedValue:n[o]})}}}},{key:"focusOption",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",t=this.props.pageSize,n=this.state.focusedOption,r=this.getFocusableOptions();if(r.length){var a=0,i=r.indexOf(n);n||(i=-1),"up"===e?a=i>0?i-1:r.length-1:"down"===e?a=(i+1)%r.length:"pageup"===e?(a=i-t)<0&&(a=0):"pagedown"===e?(a=i+t)>r.length-1&&(a=r.length-1):"last"===e&&(a=r.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:r[a],focusedValue:null})}}},{key:"getTheme",value:function(){return this.props.theme?"function"===typeof this.props.theme?this.props.theme(as):et(et({},as),this.props.theme):as}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,r=this.getClassNames,a=this.getValue,i=this.selectOption,o=this.setValue,s=this.props,l=s.isMulti,u=s.isRtl,c=s.options;return{clearValue:e,cx:t,getStyles:n,getClassNames:r,getValue:a,hasValue:this.hasValue(),isMulti:l,isRtl:u,options:c,selectOption:i,selectProps:s,setValue:o,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return fs(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return ps(this.props,e,t)}},{key:"filterOption",value:function(e,t){return hs(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){if("function"===typeof this.props.formatOptionLabel){var n=this.props.inputValue,r=this.state.selectValue;return this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:r})}return this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,n=e.isDisabled,r=e.isSearchable,a=e.inputId,i=e.inputValue,o=e.tabIndex,s=e.form,l=e.menuIsOpen,u=e.required,c=this.getComponents().Input,d=this.state,f=d.inputIsHidden,p=d.ariaSelection,h=this.commonProps,m=a||this.getElementId("input"),v=et(et(et({"aria-autocomplete":"list","aria-expanded":l,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":u,role:"combobox"},l&&{"aria-controls":this.getElementId("listbox"),"aria-owns":this.getElementId("listbox")}),!r&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null===p||void 0===p?void 0:p.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return r?t.createElement(c,xr({},h,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:m,innerRef:this.getInputRef,isDisabled:n,isHidden:f,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:o,form:s,type:"text",value:i},v)):t.createElement(Bo,xr({id:m,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Ti,onFocus:this.onInputFocus,disabled:n,tabIndex:o,inputMode:"none",form:s,value:""},v))}},{key:"renderPlaceholderOrValue",value:function(){var e=this,n=this.getComponents(),r=n.MultiValue,a=n.MultiValueContainer,i=n.MultiValueLabel,o=n.MultiValueRemove,s=n.SingleValue,l=n.Placeholder,u=this.commonProps,c=this.props,d=c.controlShouldRenderValue,f=c.isDisabled,p=c.isMulti,h=c.inputValue,m=c.placeholder,v=this.state,g=v.selectValue,y=v.focusedValue,b=v.isFocused;if(!this.hasValue()||!d)return h?null:t.createElement(l,xr({},u,{key:"placeholder",isDisabled:f,isFocused:b,innerProps:{id:this.getElementId("placeholder")}}),m);if(p)return g.map((function(n,s){var l=n===y,c="".concat(e.getOptionLabel(n),"-").concat(e.getOptionValue(n));return t.createElement(r,xr({},u,{components:{Container:a,Label:i,Remove:o},isFocused:l,isDisabled:f,key:c,index:s,removeProps:{onClick:function(){return e.removeValue(n)},onTouchEnd:function(){return e.removeValue(n)},onMouseDown:function(e){e.preventDefault()}},data:n}),e.formatOptionLabel(n,"value"))}));if(h)return null;var w=g[0];return t.createElement(s,xr({},u,{data:w,isDisabled:f}),this.formatOptionLabel(w,"value"))}},{key:"renderClearIndicator",value:function(){var e=this.getComponents().ClearIndicator,n=this.commonProps,r=this.props,a=r.isDisabled,i=r.isLoading,o=this.state.isFocused;if(!this.isClearable()||!e||a||!this.hasValue()||i)return null;var s={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"};return t.createElement(e,xr({},n,{innerProps:s,isFocused:o}))}},{key:"renderLoadingIndicator",value:function(){var e=this.getComponents().LoadingIndicator,n=this.commonProps,r=this.props,a=r.isDisabled,i=r.isLoading,o=this.state.isFocused;if(!e||!i)return null;return t.createElement(e,xr({},n,{innerProps:{"aria-hidden":"true"},isDisabled:a,isFocused:o}))}},{key:"renderIndicatorSeparator",value:function(){var e=this.getComponents(),n=e.DropdownIndicator,r=e.IndicatorSeparator;if(!n||!r)return null;var a=this.commonProps,i=this.props.isDisabled,o=this.state.isFocused;return t.createElement(r,xr({},a,{isDisabled:i,isFocused:o}))}},{key:"renderDropdownIndicator",value:function(){var e=this.getComponents().DropdownIndicator;if(!e)return null;var n=this.commonProps,r=this.props.isDisabled,a=this.state.isFocused,i={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"};return t.createElement(e,xr({},n,{innerProps:i,isDisabled:r,isFocused:a}))}},{key:"renderMenu",value:function(){var e=this,n=this.getComponents(),r=n.Group,a=n.GroupHeading,i=n.Menu,o=n.MenuList,s=n.MenuPortal,l=n.LoadingMessage,u=n.NoOptionsMessage,c=n.Option,d=this.commonProps,f=this.state.focusedOption,p=this.props,h=p.captureMenuScroll,m=p.inputValue,v=p.isLoading,g=p.loadingMessage,y=p.minMenuHeight,b=p.maxMenuHeight,w=p.menuIsOpen,x=p.menuPlacement,S=p.menuPosition,_=p.menuPortalTarget,k=p.menuShouldBlockScroll,E=p.menuShouldScrollIntoView,T=p.noOptionsMessage,C=p.onMenuScrollToTop,O=p.onMenuScrollToBottom;if(!w)return null;var j,N=function(n,r){var a=n.type,i=n.data,o=n.isDisabled,s=n.isSelected,l=n.label,u=n.value,p=f===i,h=o?void 0:function(){return e.onOptionHover(i)},m=o?void 0:function(){return e.selectOption(i)},v="".concat(e.getElementId("option"),"-").concat(r),g={id:v,onClick:m,onMouseMove:h,onMouseOver:h,tabIndex:-1};return t.createElement(c,xr({},d,{innerProps:g,data:i,isDisabled:o,isSelected:s,key:v,label:l,type:a,value:u,isFocused:p,innerRef:p?e.getFocusedOptionRef:void 0}),e.formatOptionLabel(n.data,"menu"))};if(this.hasOptions())j=this.getCategorizedOptions().map((function(n){if("group"===n.type){var i=n.data,o=n.options,s=n.index,l="".concat(e.getElementId("group"),"-").concat(s),u="".concat(l,"-heading");return t.createElement(r,xr({},d,{key:l,data:i,options:o,Heading:a,headingProps:{id:u,data:n.data},label:e.formatGroupLabel(n.data)}),n.options.map((function(e){return N(e,"".concat(s,"-").concat(e.index))})))}if("option"===n.type)return N(n,"".concat(n.index))}));else if(v){var P=g({inputValue:m});if(null===P)return null;j=t.createElement(l,d,P)}else{var L=T({inputValue:m});if(null===L)return null;j=t.createElement(u,d,L)}var M={minMenuHeight:y,maxMenuHeight:b,menuPlacement:x,menuPosition:S,menuShouldScrollIntoView:E},I=t.createElement(Ki,xr({},d,M),(function(n){var r=n.ref,a=n.placerProps,s=a.placement,l=a.maxHeight;return t.createElement(i,xr({},d,M,{innerRef:r,innerProps:{onMouseDown:e.onMenuMouseDown,onMouseMove:e.onMenuMouseMove,id:e.getElementId("listbox")},isLoading:v,placement:s}),t.createElement(Zo,{captureEnabled:h,onTopArrive:C,onBottomArrive:O,lockEnabled:k},(function(n){return t.createElement(o,xr({},d,{innerRef:function(t){e.getMenuListRef(t),n(t)},isLoading:v,maxHeight:l,focusedOption:f}),j)})))}));return _||"fixed"===S?t.createElement(s,xr({},d,{appendTo:_,controlElement:this.controlRef,menuPlacement:x,menuPosition:S}),I):I}},{key:"renderFormField",value:function(){var e=this,n=this.props,r=n.delimiter,a=n.isDisabled,i=n.isMulti,o=n.name,s=n.required,l=this.state.selectValue;if(o&&!a){if(s&&!this.hasValue())return t.createElement(ts,{name:o,onFocus:this.onValueInputFocus});if(i){if(r){var u=l.map((function(t){return e.getOptionValue(t)})).join(r);return t.createElement("input",{name:o,type:"hidden",value:u})}var c=l.length>0?l.map((function(n,r){return t.createElement("input",{key:"i-".concat(r),name:o,type:"hidden",value:e.getOptionValue(n)})})):t.createElement("input",{name:o,type:"hidden",value:""});return t.createElement("div",null,c)}var d=l[0]?this.getOptionValue(l[0]):"";return t.createElement("input",{name:o,type:"hidden",value:d})}}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,n=this.state,r=n.ariaSelection,a=n.focusedOption,i=n.focusedValue,o=n.isFocused,s=n.selectValue,l=this.getFocusableOptions();return t.createElement(Oo,xr({},e,{id:this.getElementId("live-region"),ariaSelection:r,focusedOption:a,focusedValue:i,isFocused:o,selectValue:s,focusableOptions:l}))}},{key:"render",value:function(){var e=this.getComponents(),n=e.Control,r=e.IndicatorsContainer,a=e.SelectContainer,i=e.ValueContainer,o=this.props,s=o.className,l=o.id,u=o.isDisabled,c=o.menuIsOpen,d=this.state.isFocused,f=this.commonProps=this.getCommonProps();return t.createElement(a,xr({},f,{className:s,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:u,isFocused:d}),this.renderLiveRegion(),t.createElement(n,xr({},f,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:u,isFocused:d,menuIsOpen:c}),t.createElement(i,xr({},f,{isDisabled:u}),this.renderPlaceholderOrValue(),this.renderInput()),t.createElement(r,xr({},f,{isDisabled:u}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n=t.prevProps,r=t.clearFocusValueOnUpdate,a=t.inputIsHiddenAfterUpdate,i=t.ariaSelection,o=t.isFocused,s=t.prevWasFocused,l=e.options,u=e.value,c=e.menuIsOpen,d=e.inputValue,f=e.isMulti,p=ji(u),h={};if(n&&(u!==n.value||l!==n.options||c!==n.menuIsOpen||d!==n.inputValue)){var m=c?function(e,t){return ls(ss(e,t))}(e,p):[],v=r?function(e,t){var n=e.focusedValue,r=e.selectValue.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r<t.length)return t[r]}return null}(t,p):null,g=function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,m);h={selectValue:p,focusedOption:g,focusedValue:v,clearFocusValueOnUpdate:!1}}var y=null!=a&&e!==n?{inputIsHidden:a,inputIsHiddenAfterUpdate:void 0}:{},b=i,w=o&&s;return o&&!w&&(b={value:Hi(f,p,p[0]||null),options:p,action:"initial-input-focus"},w=!s),"initial-input-focus"===(null===i||void 0===i?void 0:i.action)&&(b=null),et(et(et({},h),y),{},{prevProps:e,ariaSelection:b,prevWasFocused:w})}}]),r}(t.Component);gs.defaultProps=is;var ys=(0,t.forwardRef)((function(e,n){var r=function(e){var n=e.defaultInputValue,r=void 0===n?"":n,a=e.defaultMenuIsOpen,i=void 0!==a&&a,o=e.defaultValue,s=void 0===o?null:o,l=e.inputValue,c=e.menuIsOpen,d=e.onChange,f=e.onInputChange,p=e.onMenuClose,h=e.onMenuOpen,m=e.value,v=br(e,wr),g=u((0,t.useState)(void 0!==l?l:r),2),y=g[0],b=g[1],w=u((0,t.useState)(void 0!==c?c:i),2),x=w[0],S=w[1],_=u((0,t.useState)(void 0!==m?m:s),2),k=_[0],E=_[1],T=(0,t.useCallback)((function(e,t){"function"===typeof d&&d(e,t),E(e)}),[d]),C=(0,t.useCallback)((function(e,t){var n;"function"===typeof f&&(n=f(e,t)),b(void 0!==n?n:e)}),[f]),O=(0,t.useCallback)((function(){"function"===typeof h&&h(),S(!0)}),[h]),j=(0,t.useCallback)((function(){"function"===typeof p&&p(),S(!1)}),[p]),N=void 0!==l?l:y,P=void 0!==c?c:x,L=void 0!==m?m:k;return et(et({},v),{},{inputValue:N,menuIsOpen:P,onChange:T,onInputChange:C,onMenuClose:j,onMenuOpen:O,value:L})}(e);return t.createElement(gs,xr({ref:n},r))})),bs=ys,ws=function(e){var t=e.options,n=e.defaultValue,r=e.value,a=e.onChange,i=t.map((function(e){return{value:e.value,label:e.name}})),o=i.find((function(e){return e.value===r}));return(0,tt.jsx)("div",{className:"my-select__wrapper",children:(0,tt.jsx)(bs,{className:"my-select",classNamePrefix:"my-select",defaultValue:{value:"",label:n},options:i,value:o,isSearchable:!1,onChange:function(e){return a(e.value)}})})},xs={"aria-busy":!0,role:"status"},Ss=n(441),_s=n(613),ks=n.n(_s);var Es=function(e){function t(e,r,l,u,f){for(var p,h,m,v,w,S=0,_=0,k=0,E=0,T=0,L=0,I=m=p=0,A=0,D=0,z=0,F=0,B=l.length,V=B-1,U="",H="",W="",G="";A<B;){if(h=l.charCodeAt(A),A===V&&0!==_+E+k+S&&(0!==_&&(h=47===_?10:47),E=k=S=0,B++,V++),0===_+E+k+S){if(A===V&&(0<D&&(U=U.replace(d,"")),0<U.trim().length)){switch(h){case 32:case 9:case 59:case 13:case 10:break;default:U+=l.charAt(A)}h=59}switch(h){case 123:for(p=(U=U.trim()).charCodeAt(0),m=1,F=++A;A<B;){switch(h=l.charCodeAt(A)){case 123:m++;break;case 125:m--;break;case 47:switch(h=l.charCodeAt(A+1)){case 42:case 47:e:{for(I=A+1;I<V;++I)switch(l.charCodeAt(I)){case 47:if(42===h&&42===l.charCodeAt(I-1)&&A+2!==I){A=I+1;break e}break;case 10:if(47===h){A=I+1;break e}}A=I}}break;case 91:h++;case 40:h++;case 34:case 39:for(;A++<V&&l.charCodeAt(A)!==h;);}if(0===m)break;A++}if(m=l.substring(F,A),0===p&&(p=(U=U.replace(c,"").trim()).charCodeAt(0)),64===p){switch(0<D&&(U=U.replace(d,"")),h=U.charCodeAt(1)){case 100:case 109:case 115:case 45:D=r;break;default:D=P}if(F=(m=t(r,D,m,h,f+1)).length,0<M&&(w=s(3,m,D=n(P,U,z),r,O,C,F,h,f,u),U=D.join(""),void 0!==w&&0===(F=(m=w.trim()).length)&&(h=0,m="")),0<F)switch(h){case 115:U=U.replace(x,o);case 100:case 109:case 45:m=U+"{"+m+"}";break;case 107:m=(U=U.replace(g,"$1 $2"))+"{"+m+"}",m=1===N||2===N&&i("@"+m,3)?"@-webkit-"+m+"@"+m:"@"+m;break;default:m=U+m,112===u&&(H+=m,m="")}else m=""}else m=t(r,n(r,U,z),m,u,f+1);W+=m,m=z=D=I=p=0,U="",h=l.charCodeAt(++A);break;case 125:case 59:if(1<(F=(U=(0<D?U.replace(d,""):U).trim()).length))switch(0===I&&(p=U.charCodeAt(0),45===p||96<p&&123>p)&&(F=(U=U.replace(" ",":")).length),0<M&&void 0!==(w=s(1,U,r,e,O,C,H.length,u,f,u))&&0===(F=(U=w.trim()).length)&&(U="\0\0"),p=U.charCodeAt(0),h=U.charCodeAt(1),p){case 0:break;case 64:if(105===h||99===h){G+=U+l.charAt(A);break}default:58!==U.charCodeAt(F-1)&&(H+=a(U,p,h,U.charCodeAt(2)))}z=D=I=p=0,U="",h=l.charCodeAt(++A)}}switch(h){case 13:case 10:47===_?_=0:0===1+p&&107!==u&&0<U.length&&(D=1,U+="\0"),0<M*R&&s(0,U,r,e,O,C,H.length,u,f,u),C=1,O++;break;case 59:case 125:if(0===_+E+k+S){C++;break}default:switch(C++,v=l.charAt(A),h){case 9:case 32:if(0===E+S+_)switch(T){case 44:case 58:case 9:case 32:v="";break;default:32!==h&&(v=" ")}break;case 0:v="\\0";break;case 12:v="\\f";break;case 11:v="\\v";break;case 38:0===E+_+S&&(D=z=1,v="\f"+v);break;case 108:if(0===E+_+S+j&&0<I)switch(A-I){case 2:112===T&&58===l.charCodeAt(A-3)&&(j=T);case 8:111===L&&(j=L)}break;case 58:0===E+_+S&&(I=A);break;case 44:0===_+k+E+S&&(D=1,v+="\r");break;case 34:case 39:0===_&&(E=E===h?0:0===E?h:E);break;case 91:0===E+_+k&&S++;break;case 93:0===E+_+k&&S--;break;case 41:0===E+_+S&&k--;break;case 40:if(0===E+_+S){if(0===p)if(2*T+3*L===533);else p=1;k++}break;case 64:0===_+k+E+S+I+m&&(m=1);break;case 42:case 47:if(!(0<E+S+k))switch(_){case 0:switch(2*h+3*l.charCodeAt(A+1)){case 235:_=47;break;case 220:F=A,_=42}break;case 42:47===h&&42===T&&F+2!==A&&(33===l.charCodeAt(F+2)&&(H+=l.substring(F,A+1)),v="",_=0)}}0===_&&(U+=v)}L=T,T=h,A++}if(0<(F=H.length)){if(D=r,0<M&&(void 0!==(w=s(2,H,D,e,O,C,F,u,f,u))&&0===(H=w).length))return G+H+W;if(H=D.join(",")+"{"+H+"}",0!==N*j){switch(2!==N||i(H,2)||(j=0),j){case 111:H=H.replace(b,":-moz-$1")+H;break;case 112:H=H.replace(y,"::-webkit-input-$1")+H.replace(y,"::-moz-$1")+H.replace(y,":-ms-input-$1")+H}j=0}}return G+H+W}function n(e,t,n){var a=t.trim().split(m);t=a;var i=a.length,o=e.length;switch(o){case 0:case 1:var s=0;for(e=0===o?"":e[0]+" ";s<i;++s)t[s]=r(e,t[s],n).trim();break;default:var l=s=0;for(t=[];s<i;++s)for(var u=0;u<o;++u)t[l++]=r(e[u]+" ",a[s],n).trim()}return t}function r(e,t,n){var r=t.charCodeAt(0);switch(33>r&&(r=(t=t.trim()).charCodeAt(0)),r){case 38:return t.replace(v,"$1"+e.trim());case 58:return e.trim()+t.replace(v,"$1"+e.trim());default:if(0<1*n&&0<t.indexOf("\f"))return t.replace(v,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function a(e,t,n,r){var o=e+";",s=2*t+3*n+4*r;if(944===s){e=o.indexOf(":",9)+1;var l=o.substring(e,o.length-1).trim();return l=o.substring(0,e).trim()+l+";",1===N||2===N&&i(l,1)?"-webkit-"+l+l:l}if(0===N||2===N&&!i(o,1))return o;switch(s){case 1015:return 97===o.charCodeAt(10)?"-webkit-"+o+o:o;case 951:return 116===o.charCodeAt(3)?"-webkit-"+o+o:o;case 963:return 110===o.charCodeAt(5)?"-webkit-"+o+o:o;case 1009:if(100!==o.charCodeAt(4))break;case 969:case 942:return"-webkit-"+o+o;case 978:return"-webkit-"+o+"-moz-"+o+o;case 1019:case 983:return"-webkit-"+o+"-moz-"+o+"-ms-"+o+o;case 883:if(45===o.charCodeAt(8))return"-webkit-"+o+o;if(0<o.indexOf("image-set(",11))return o.replace(T,"$1-webkit-$2")+o;break;case 932:if(45===o.charCodeAt(4))switch(o.charCodeAt(5)){case 103:return"-webkit-box-"+o.replace("-grow","")+"-webkit-"+o+"-ms-"+o.replace("grow","positive")+o;case 115:return"-webkit-"+o+"-ms-"+o.replace("shrink","negative")+o;case 98:return"-webkit-"+o+"-ms-"+o.replace("basis","preferred-size")+o}return"-webkit-"+o+"-ms-"+o+o;case 964:return"-webkit-"+o+"-ms-flex-"+o+o;case 1023:if(99!==o.charCodeAt(8))break;return"-webkit-box-pack"+(l=o.substring(o.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+o+"-ms-flex-pack"+l+o;case 1005:return p.test(o)?o.replace(f,":-webkit-")+o.replace(f,":-moz-")+o:o;case 1e3:switch(t=(l=o.substring(13).trim()).indexOf("-")+1,l.charCodeAt(0)+l.charCodeAt(t)){case 226:l=o.replace(w,"tb");break;case 232:l=o.replace(w,"tb-rl");break;case 220:l=o.replace(w,"lr");break;default:return o}return"-webkit-"+o+"-ms-"+l+o;case 1017:if(-1===o.indexOf("sticky",9))break;case 975:switch(t=(o=e).length-10,s=(l=(33===o.charCodeAt(t)?o.substring(0,t):o).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(111>l.charCodeAt(8))break;case 115:o=o.replace(l,"-webkit-"+l)+";"+o;break;case 207:case 102:o=o.replace(l,"-webkit-"+(102<s?"inline-":"")+"box")+";"+o.replace(l,"-webkit-"+l)+";"+o.replace(l,"-ms-"+l+"box")+";"+o}return o+";";case 938:if(45===o.charCodeAt(5))switch(o.charCodeAt(6)){case 105:return l=o.replace("-items",""),"-webkit-"+o+"-webkit-box-"+l+"-ms-flex-"+l+o;case 115:return"-webkit-"+o+"-ms-flex-item-"+o.replace(_,"")+o;default:return"-webkit-"+o+"-ms-flex-line-pack"+o.replace("align-content","").replace(_,"")+o}break;case 973:case 989:if(45!==o.charCodeAt(3)||122===o.charCodeAt(4))break;case 931:case 953:if(!0===E.test(e))return 115===(l=e.substring(e.indexOf(":")+1)).charCodeAt(0)?a(e.replace("stretch","fill-available"),t,n,r).replace(":fill-available",":stretch"):o.replace(l,"-webkit-"+l)+o.replace(l,"-moz-"+l.replace("fill-",""))+o;break;case 962:if(o="-webkit-"+o+(102===o.charCodeAt(5)?"-ms-"+o:"")+o,211===n+r&&105===o.charCodeAt(13)&&0<o.indexOf("transform",10))return o.substring(0,o.indexOf(";",27)+1).replace(h,"$1-webkit-$2")+o}return o}function i(e,t){var n=e.indexOf(1===t?":":"{"),r=e.substring(0,3!==t?n:10);return n=e.substring(n+1,e.length-1),I(2!==t?r:r.replace(k,"$1"),n,t)}function o(e,t){var n=a(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(S," or ($1)").substring(4):"("+t+")"}function s(e,t,n,r,a,i,o,s,l,c){for(var d,f=0,p=t;f<M;++f)switch(d=L[f].call(u,e,p,n,r,a,i,o,s,l,c)){case void 0:case!1:case!0:case null:break;default:p=d}if(p!==t)return p}function l(e){return void 0!==(e=e.prefix)&&(I=null,e?"function"!==typeof e?N=1:(N=2,I=e):N=0),l}function u(e,n){var r=e;if(33>r.charCodeAt(0)&&(r=r.trim()),r=[r],0<M){var a=s(-1,n,r,r,O,C,0,0,0,0);void 0!==a&&"string"===typeof a&&(n=a)}var i=t(P,r,n,0,0);return 0<M&&(void 0!==(a=s(-2,i,r,r,O,C,i.length,0,0,0))&&(i=a)),"",j=0,C=O=1,i}var c=/^\0+/g,d=/[\0\r\f]/g,f=/: */g,p=/zoo|gra/,h=/([,: ])(transform)/g,m=/,\r+?/g,v=/([\t\r\n ])*\f?&/g,g=/@(k\w+)\s*(\S*)\s*/,y=/::(place)/g,b=/:(read-only)/g,w=/[svh]\w+-[tblr]{2}/,x=/\(\s*(.*)\s*\)/g,S=/([\s\S]*?);/g,_=/-self|flex-/g,k=/[^]*?(:[rp][el]a[\w-]+)[^]*/,E=/stretch|:\s*\w+\-(?:conte|avail)/,T=/([^-])(image-set\()/,C=1,O=1,j=0,N=1,P=[],L=[],M=0,I=null,R=0;return u.use=function e(t){switch(t){case void 0:case null:M=L.length=0;break;default:if("function"===typeof t)L[M++]=t;else if("object"===typeof t)for(var n=0,r=t.length;n<r;++n)e(t[n]);else R=0|!!t}return e},u.set=l,void 0!==e&&l(e),u},Ts={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Cs=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Os=Oa((function(e){return Cs.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),js=Os;function Ns(){return(Ns=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var Ps=function(e,t){for(var n=[e[0]],r=0,a=t.length;r<a;r+=1)n.push(t[r],e[r+1]);return n},Ls=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!(0,Ss.typeOf)(e)},Ms=Object.freeze([]),Is=Object.freeze({});function Rs(e){return"function"==typeof e}function As(e){return e.displayName||e.name||"Component"}function Ds(e){return e&&"string"==typeof e.styledComponentId}var zs="undefined"!=typeof process&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}&&({NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_ATTR||{NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_ATTR)||"data-styled",Fs="undefined"!=typeof window&&"HTMLElement"in window,Bs=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}&&(void 0!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY?"false"!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.REACT_APP_SC_DISABLE_SPEEDY:void 0!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&""!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&("false"!=={NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY&&{NODE_ENV:"production",PUBLIC_URL:"/react-games.github.io",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!0}.SC_DISABLE_SPEEDY)));function Vs(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):""))}var Us=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,a=r;e>=a;)(a<<=1)<0&&Vs(16,""+e);this.groupSizes=new Uint32Array(a),this.groupSizes.set(n),this.length=a;for(var i=r;i<a;i++)this.groupSizes[i]=0}for(var o=this.indexOfGroup(e+1),s=0,l=t.length;s<l;s++)this.tag.insertRule(o,t[s])&&(this.groupSizes[e]++,o++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var a=n;a<r;a++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),a=r+n,i=r;i<a;i++)t+=this.tag.getRule(i)+"/*!sc*/\n";return t},e}(),Hs=new Map,Ws=new Map,Gs=1,$s=function(e){if(Hs.has(e))return Hs.get(e);for(;Ws.has(Gs);)Gs++;var t=Gs++;return Hs.set(e,t),Ws.set(t,e),t},qs=function(e){return Ws.get(e)},Ks=function(e,t){t>=Gs&&(Gs=t+1),Hs.set(e,t),Ws.set(t,e)},Ys="style["+zs+'][data-styled-version="5.3.8"]',Xs=new RegExp("^"+zs+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),Qs=function(e,t,n){for(var r,a=n.split(","),i=0,o=a.length;i<o;i++)(r=a[i])&&e.registerName(t,r)},Js=function(e,t){for(var n=(t.textContent||"").split("/*!sc*/\n"),r=[],a=0,i=n.length;a<i;a++){var o=n[a].trim();if(o){var s=o.match(Xs);if(s){var l=0|parseInt(s[1],10),u=s[2];0!==l&&(Ks(u,l),Qs(e,u,s[3]),e.getTag().insertRules(l,r)),r.length=0}else r.push(o)}}},Zs=function(){return n.nc},el=function(e){var t=document.head,n=e||t,r=document.createElement("style"),a=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(zs))return r}}(n),i=void 0!==a?a.nextSibling:null;r.setAttribute(zs,"active"),r.setAttribute("data-styled-version","5.3.8");var o=Zs();return o&&r.setAttribute("nonce",o),n.insertBefore(r,i),r},tl=function(){function e(e){var t=this.element=el(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var a=t[n];if(a.ownerNode===e)return a}Vs(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),nl=function(){function e(e){var t=this.element=el(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),rl=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),al=Fs,il={isServer:!Fs,useCSSOMInjection:!Bs},ol=function(){function e(e,t,n){void 0===e&&(e=Is),void 0===t&&(t={}),this.options=Ns({},il,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&Fs&&al&&(al=!1,function(e){for(var t=document.querySelectorAll(Ys),n=0,r=t.length;n<r;n++){var a=t[n];a&&"active"!==a.getAttribute(zs)&&(Js(e,a),a.parentNode&&a.parentNode.removeChild(a))}}(this))}e.registerId=function(e){return $s(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(Ns({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,a=t.target,e=n?new rl(a):r?new tl(a):new nl(a),new Us(e)));var e,t,n,r,a},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if($s(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules($s(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup($s(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r="",a=0;a<n;a++){var i=qs(a);if(void 0!==i){var o=e.names.get(i),s=t.getGroup(a);if(o&&s&&o.size){var l=zs+".g"+a+'[id="'+i+'"]',u="";void 0!==o&&o.forEach((function(e){e.length>0&&(u+=e+",")})),r+=""+s+l+'{content:"'+u+'"}/*!sc*/\n'}}}return r}(this)},e}(),sl=/(a)(d)/gi,ll=function(e){return String.fromCharCode(e+(e>25?39:97))};function ul(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=ll(t%52)+n;return(ll(t%52)+n).replace(sl,"$1-$2")}var cl=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},dl=function(e){return cl(5381,e)};function fl(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(Rs(n)&&!Ds(n))return!1}return!0}var pl=dl("5.3.8"),hl=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&fl(e),this.componentId=t,this.baseHash=cl(pl,t),this.baseStyle=n,ol.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,a=[];if(this.baseStyle&&a.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))a.push(this.staticRulesId);else{var i=Ll(this.rules,e,t,n).join(""),o=ul(cl(this.baseHash,i)>>>0);if(!t.hasNameForId(r,o)){var s=n(i,"."+o,void 0,r);t.insertRules(r,o,s)}a.push(o),this.staticRulesId=o}else{for(var l=this.rules.length,u=cl(this.baseHash,n.hash),c="",d=0;d<l;d++){var f=this.rules[d];if("string"==typeof f)c+=f;else if(f){var p=Ll(f,e,t,n),h=Array.isArray(p)?p.join(""):p;u=cl(u,h+d),c+=h}}if(c){var m=ul(u>>>0);if(!t.hasNameForId(r,m)){var v=n(c,"."+m,void 0,r);t.insertRules(r,m,v)}a.push(m)}}return a.join(" ")},e}(),ml=/^\s*\/\/.*$/gm,vl=[":","[",".","#"];function gl(e){var t,n,r,a,i=void 0===e?Is:e,o=i.options,s=void 0===o?Is:o,l=i.plugins,u=void 0===l?Ms:l,c=new Es(s),d=[],f=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,a,i,o,s,l,u,c,d){switch(n){case 1:if(0===c&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(a[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),p=function(e,r,i){return 0===r&&-1!==vl.indexOf(i[n.length])||i.match(a)?e:"."+t};function h(e,i,o,s){void 0===s&&(s="&");var l=e.replace(ml,""),u=i&&o?o+" "+i+" { "+l+" }":l;return t=s,n=i,r=new RegExp("\\"+n+"\\b","g"),a=new RegExp("(\\"+n+"\\b){2,}"),c(o||!i?"":i,u)}return c.use([].concat(u,[function(e,t,a){2===e&&a.length&&a[0].lastIndexOf(n)>0&&(a[0]=a[0].replace(r,p))},f,function(e){if(-2===e){var t=d;return d=[],t}}])),h.hash=u.length?u.reduce((function(e,t){return t.name||Vs(15),cl(e,t.name)}),5381).toString():"",h}var yl=t.createContext(),bl=(yl.Consumer,t.createContext()),wl=(bl.Consumer,new ol),xl=gl();function Sl(){return(0,t.useContext)(yl)||wl}function _l(){return(0,t.useContext)(bl)||xl}function kl(e){var n=(0,t.useState)(e.stylisPlugins),r=n[0],a=n[1],i=Sl(),o=(0,t.useMemo)((function(){var t=i;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),s=(0,t.useMemo)((function(){return gl({options:{prefix:!e.disableVendorPrefixes},plugins:r})}),[e.disableVendorPrefixes,r]);return(0,t.useEffect)((function(){ks()(r,e.stylisPlugins)||a(e.stylisPlugins)}),[e.stylisPlugins]),t.createElement(yl.Provider,{value:o},t.createElement(bl.Provider,{value:s},e.children))}var El=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=xl);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return Vs(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=xl),this.name+e.hash},e}(),Tl=/([A-Z])/,Cl=/([A-Z])/g,Ol=/^ms-/,jl=function(e){return"-"+e.toLowerCase()};function Nl(e){return Tl.test(e)?e.replace(Cl,jl).replace(Ol,"-ms-"):e}var Pl=function(e){return null==e||!1===e||""===e};function Ll(e,t,n,r){if(Array.isArray(e)){for(var a,i=[],o=0,s=e.length;o<s;o+=1)""!==(a=Ll(e[o],t,n,r))&&(Array.isArray(a)?i.push.apply(i,a):i.push(a));return i}return Pl(e)?"":Ds(e)?"."+e.styledComponentId:Rs(e)?"function"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!t?e:Ll(e(t),t,n,r):e instanceof El?n?(e.inject(n,r),e.getName(r)):e:Ls(e)?function e(t,n){var r,a,i=[];for(var o in t)t.hasOwnProperty(o)&&!Pl(t[o])&&(Array.isArray(t[o])&&t[o].isCss||Rs(t[o])?i.push(Nl(o)+":",t[o],";"):Ls(t[o])?i.push.apply(i,e(t[o],o)):i.push(Nl(o)+": "+(r=o,(null==(a=t[o])||"boolean"==typeof a||""===a?"":"number"!=typeof a||0===a||r in Ts?String(a).trim():a+"px")+";")));return n?[n+" {"].concat(i,["}"]):i}(e):e.toString();var l}var Ml=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Il(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Rs(e)||Ls(e)?Ml(Ll(Ps(Ms,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:Ml(Ll(Ps(e,n)))}new Set;var Rl=function(e,t,n){return void 0===n&&(n=Is),e.theme!==n.theme&&e.theme||t||n.theme},Al=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Dl=/(^-|-$)/g;function zl(e){return e.replace(Al,"-").replace(Dl,"")}var Fl=function(e){return ul(dl(e)>>>0)};function Bl(e){return"string"==typeof e&&!0}var Vl=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Ul=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Hl(e,t,n){var r=e[n];Vl(t)&&Vl(r)?Wl(r,t):e[n]=t}function Wl(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var a=0,i=n;a<i.length;a++){var o=i[a];if(Vl(o))for(var s in o)Ul(s)&&Hl(e,o[s],s)}return e}var Gl=t.createContext();Gl.Consumer;var $l={};function ql(e,n,r){var a=Ds(e),i=!Bl(e),o=n.attrs,s=void 0===o?Ms:o,l=n.componentId,u=void 0===l?function(e,t){var n="string"!=typeof e?"sc":zl(e);$l[n]=($l[n]||0)+1;var r=n+"-"+Fl("5.3.8"+n+$l[n]);return t?t+"-"+r:r}(n.displayName,n.parentComponentId):l,c=n.displayName,d=void 0===c?function(e){return Bl(e)?"styled."+e:"Styled("+As(e)+")"}(e):c,f=n.displayName&&n.componentId?zl(n.displayName)+"-"+n.componentId:n.componentId||u,p=a&&e.attrs?Array.prototype.concat(e.attrs,s).filter(Boolean):s,h=n.shouldForwardProp;a&&e.shouldForwardProp&&(h=n.shouldForwardProp?function(t,r,a){return e.shouldForwardProp(t,r,a)&&n.shouldForwardProp(t,r,a)}:e.shouldForwardProp);var m,v=new hl(r,f,a?e.componentStyle:void 0),g=v.isStatic&&0===s.length,y=function(e,n){return function(e,n,r,a){var i=e.attrs,o=e.componentStyle,s=e.defaultProps,l=e.foldedComponentIds,u=e.shouldForwardProp,c=e.styledComponentId,d=e.target,f=function(e,t,n){void 0===e&&(e=Is);var r=Ns({},t,{theme:e}),a={};return n.forEach((function(e){var t,n,i,o=e;for(t in Rs(o)&&(o=o(r)),o)r[t]=a[t]="className"===t?(n=a[t],i=o[t],n&&i?n+" "+i:n||i):o[t]})),[r,a]}(Rl(n,(0,t.useContext)(Gl),s)||Is,n,i),p=f[0],h=f[1],m=function(e,t,n,r){var a=Sl(),i=_l();return t?e.generateAndInjectStyles(Is,a,i):e.generateAndInjectStyles(n,a,i)}(o,a,p),v=r,g=h.$as||n.$as||h.as||n.as||d,y=Bl(g),b=h!==n?Ns({},n,{},h):n,w={};for(var x in b)"$"!==x[0]&&"as"!==x&&("forwardedAs"===x?w.as=b[x]:(u?u(x,js,g):!y||js(x))&&(w[x]=b[x]));return n.style&&h.style!==n.style&&(w.style=Ns({},n.style,{},h.style)),w.className=Array.prototype.concat(l,c,m!==c?m:null,n.className,h.className).filter(Boolean).join(" "),w.ref=v,(0,t.createElement)(g,w)}(m,e,n,g)};return y.displayName=d,(m=t.forwardRef(y)).attrs=p,m.componentStyle=v,m.displayName=d,m.shouldForwardProp=h,m.foldedComponentIds=a?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):Ms,m.styledComponentId=f,m.target=a?e.target:e,m.withComponent=function(e){var t=n.componentId,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(n,["componentId"]),i=t&&t+"-"+(Bl(e)?e:zl(As(e)));return ql(e,Ns({},a,{attrs:p,componentId:i}),r)},Object.defineProperty(m,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=a?Wl({},e.defaultProps,t):t}}),m.toString=function(){return"."+m.styledComponentId},i&&Xa()(m,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),m}var Kl=function(e){return function e(t,n,r){if(void 0===r&&(r=Is),!(0,Ss.isValidElementType)(n))return Vs(1,String(n));var a=function(){return t(n,r,Il.apply(void 0,arguments))};return a.withConfig=function(a){return e(t,n,Ns({},r,{},a))},a.attrs=function(a){return e(t,n,Ns({},r,{attrs:Array.prototype.concat(r.attrs,a).filter(Boolean)}))},a}(ql,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Kl[e]=Kl(e)}));!function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=fl(e),ol.registerId(this.componentId+1)}var t=e.prototype;t.createStyles=function(e,t,n,r){var a=r(Ll(this.rules,t,n,r).join(""),""),i=this.componentId+e;n.insertRules(i,i,a)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&ol.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}();function Yl(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var a=Il.apply(void 0,[e].concat(n)).join(""),i=Fl(a);return new El(i,a)}!function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=Zs();return"<style "+[n&&'nonce="'+n+'"',zs+'="true"','data-styled-version="5.3.8"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?Vs(2):e._emitSheetCSS()},this.getStyleElement=function(){var n;if(e.sealed)return Vs(2);var r=((n={})[zs]="",n["data-styled-version"]="5.3.8",n.dangerouslySetInnerHTML={__html:e.instance.toString()},n),a=Zs();return a&&(r.nonce=a),[t.createElement("style",Ns({},r,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new ol({isServer:!0}),this.sealed=!1}var n=e.prototype;n.collectStyles=function(e){return this.sealed?Vs(2):t.createElement(kl,{sheet:this.instance},e)},n.interleaveWithNodeStream=function(e){return Vs(3)}}();var Xl,Ql,Jl=Kl,Zl=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},eu=242.776657104492,tu=Yl(Xl||(Xl=Zl(["\n 12.5% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n 43.75% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n 100% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n"],["\n 12.5% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n 43.75% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n 100% {\n stroke-dasharray: ","px, ","px;\n stroke-dashoffset: -","px;\n }\n"])),.14*eu,eu,.11*eu,.35*eu,eu,.35*eu,.01*eu,eu,.99*eu),nu=(Jl.path(Ql||(Ql=Zl(["\n stroke-dasharray: ","px, ",";\n stroke-dashoffset: 0;\n animation: "," ","s linear infinite;\n"],["\n stroke-dasharray: ","px, ",";\n stroke-dashoffset: 0;\n animation: "," ","s linear infinite;\n"])),.01*eu,eu,tu,1.6),function(e,t){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"!==typeof n[e])return n[e];if(e&&e.indexOf(".")>0){for(var r=e.split("."),a=r.length,i=n[r[0]],o=1;null!=i&&o<a;)i=i[r[o]],o+=1;if("undefined"!==typeof i)return i}return t}});var ru,au,iu,ou=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},su=Yl(ru||(ru=ou(["\n to {\n transform: rotate(360deg);\n }\n"],["\n to {\n transform: rotate(360deg);\n }\n"])));Jl.svg(au||(au=ou(["\n animation: "," 0.75s steps(12, end) infinite;\n animation-duration: ","s;\n"],["\n animation: "," 0.75s steps(12, end) infinite;\n animation-duration: ","s;\n"])),su,nu("speed","0.75")),Jl.polyline(iu||(iu=ou(["\n stroke-width: ","px;\n stroke-linecap: round;\n\n &:nth-child(12n + 0) {\n stroke-opacity: 0.08;\n }\n\n &:nth-child(12n + 1) {\n stroke-opacity: 0.17;\n }\n\n &:nth-child(12n + 2) {\n stroke-opacity: 0.25;\n }\n\n &:nth-child(12n + 3) {\n stroke-opacity: 0.33;\n }\n\n &:nth-child(12n + 4) {\n stroke-opacity: 0.42;\n }\n\n &:nth-child(12n + 5) {\n stroke-opacity: 0.5;\n }\n\n &:nth-child(12n + 6) {\n stroke-opacity: 0.58;\n }\n\n &:nth-child(12n + 7) {\n stroke-opacity: 0.66;\n }\n\n &:nth-child(12n + 8) {\n stroke-opacity: 0.75;\n }\n\n &:nth-child(12n + 9) {\n stroke-opacity: 0.83;\n }\n\n &:nth-child(12n + 11) {\n stroke-opacity: 0.92;\n }\n"],["\n stroke-width: ","px;\n stroke-linecap: round;\n\n &:nth-child(12n + 0) {\n stroke-opacity: 0.08;\n }\n\n &:nth-child(12n + 1) {\n stroke-opacity: 0.17;\n }\n\n &:nth-child(12n + 2) {\n stroke-opacity: 0.25;\n }\n\n &:nth-child(12n + 3) {\n stroke-opacity: 0.33;\n }\n\n &:nth-child(12n + 4) {\n stroke-opacity: 0.42;\n }\n\n &:nth-child(12n + 5) {\n stroke-opacity: 0.5;\n }\n\n &:nth-child(12n + 6) {\n stroke-opacity: 0.58;\n }\n\n &:nth-child(12n + 7) {\n stroke-opacity: 0.66;\n }\n\n &:nth-child(12n + 8) {\n stroke-opacity: 0.75;\n }\n\n &:nth-child(12n + 9) {\n stroke-opacity: 0.83;\n }\n\n &:nth-child(12n + 11) {\n stroke-opacity: 0.92;\n }\n"])),(function(e){return e.width}));var lu,uu,cu,du=function(e){return{display:e?"flex":"none"}},fu=function(){return fu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},fu.apply(this,arguments)},pu=function(e){var n=e.height,r=void 0===n?80:n,a=e.width,i=void 0===a?80:a,o=e.radius,s=void 0===o?1:o,l=e.color,u=void 0===l?"#4fa94d":l,c=e.ariaLabel,d=void 0===c?"tail-spin-loading":c,f=e.wrapperStyle,p=e.wrapperClass,h=e.visible,m=void 0===h||h;return t.createElement("div",fu({style:fu(fu({},du(m)),f),className:p,"data-testid":"tail-spin-loading","aria-label":d},xs),t.createElement("svg",{width:i,height:r,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg","data-testid":"tail-spin-svg"},t.createElement("defs",null,t.createElement("linearGradient",{x1:"8.042%",y1:"0%",x2:"65.682%",y2:"23.865%",id:"a"},t.createElement("stop",{stopColor:u,stopOpacity:"0",offset:"0%"}),t.createElement("stop",{stopColor:u,stopOpacity:".631",offset:"63.146%"}),t.createElement("stop",{stopColor:u,offset:"100%"}))),t.createElement("g",{fill:"none",fillRule:"evenodd"},t.createElement("g",{transform:"translate(1 1)"},t.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18",id:"Oval-2",stroke:u,strokeWidth:"2"},t.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"0.9s",repeatCount:"indefinite"})),t.createElement("circle",{fill:"#fff",cx:"36",cy:"18",r:s},t.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"0.9s",repeatCount:"indefinite"}))))))},hu=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},mu=Yl(lu||(lu=hu(["\n to {\n stroke-dashoffset: 136;\n }\n"],["\n to {\n stroke-dashoffset: 136;\n }\n"])));Jl.polygon(uu||(uu=hu(["\n stroke-dasharray: 17;\n animation: "," 2.5s cubic-bezier(0.35, 0.04, 0.63, 0.95) infinite;\n"],["\n stroke-dasharray: 17;\n animation: "," 2.5s cubic-bezier(0.35, 0.04, 0.63, 0.95) infinite;\n"])),mu),Jl.svg(cu||(cu=hu(["\n transform-origin: 50% 65%;\n"],["\n transform-origin: 50% 65%;\n"])));var vu=function(){return vu=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e},vu.apply(this,arguments)};function gu(e){var n=e.visible,r=void 0===n||n,a=e.height,i=void 0===a?"80":a,o=e.width,s=void 0===o?"80":o,l=e.wrapperClass,u=void 0===l?"":l,c=e.wrapperStyle,d=void 0===c?{}:c,f=e.ariaLabel,p=void 0===f?"progress-bar-loading":f,h=e.borderColor,m=void 0===h?"#F4442E":h,v=e.barColor,g=void 0===v?"#51E5FF":v;return r?t.createElement("svg",vu({width:s,height:i,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",className:u,style:d,"aria-label":p,"data-testid":"progress-bar-svg"},xs),t.createElement("defs",null,t.createElement("clipPath",{"ng-attr-id":"{{config.cpid}}",x:"0",y:"0",width:"100",height:"100",id:"lds-progress-cpid-5009611b8a418"},t.createElement("rect",{x:"0",y:"0",width:"66.6667",height:"100"},t.createElement("animate",{attributeName:"width",calcMode:"linear",values:"0;100;100",keyTimes:"0;0.5;1",dur:"1",begin:"0s",repeatCount:"indefinite"}),t.createElement("animate",{attributeName:"x",calcMode:"linear",values:"0;0;100",keyTimes:"0;0.5;1",dur:"1",begin:"0s",repeatCount:"indefinite"})))),t.createElement("path",{fill:"none","ng-attr-stroke":"{{config.c1}}",strokeWidth:"2.7928",d:"M82,63H18c-7.2,0-13-5.8-13-13v0c0-7.2,5.8-13,13-13h64c7.2,0,13,5.8,13,13v0C95,57.2,89.2,63,82,63z",stroke:m}),t.createElement("path",{"ng-attr-fill":"{{config.c2}}","ng-attr-clip-path":"url(#{{config.cpid}})",d:"M81.3,58.7H18.7c-4.8,0-8.7-3.9-8.7-8.7v0c0-4.8,3.9-8.7,8.7-8.7h62.7c4.8,0,8.7,3.9,8.7,8.7v0C90,54.8,86.1,58.7,81.3,58.7z",fill:g,clipPath:"url(#lds-progress-cpid-5009611b8a418)"})):null}var yu="LoaderContent_loaderWrapper__70y-E",bu=function(){return(0,tt.jsx)("div",{className:yu,children:(0,tt.jsx)(pu,{height:"60",width:"60",color:"#fff",ariaLabel:"tail-spin-loading",radius:"2"})})},wu="Error_contentError__38VoJ",xu="Error_contentErrorIcon__TwrGa",Su="Error_contentErrorWrapper__7hi82",_u="Error_contentErrorText__2p9Z1",ku="Error_contentErrorTitle__uS2Wz",Eu="Error_contentErrorP__ZnLxe",Tu=function(){return(0,tt.jsx)("div",{className:wu,children:(0,tt.jsxs)("div",{className:Su,children:[(0,tt.jsx)("span",{className:xu}),(0,tt.jsxs)("div",{className:_u,children:[(0,tt.jsx)("h2",{className:ku,children:"Woops! Something went wrong..."}),(0,tt.jsx)("p",{className:Eu,children:"We are unable to download this content at this time. Please try again later."})]})]})})},Cu=function(e,t){return Math.ceil(e/t)},Ou=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),i=a[0],o=a[1],s=u((0,t.useState)(null),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)({sort:"",query:""}),2),S=x[0],_=x[1],k=ht(S.sort,n),E=(0,t.useRef)(),T=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesList(v,b);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,h(Cu(a,v));case 6:case"end":return e.stop()}}),e)})))),3),C=T[0],O=T[1],j=T[2],N=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesList(v,b);case 2:t=e.sent,r(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),P=N[0],L=(N[1],N[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesList(v,b,l);case 2:t=e.sent,r(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3)),M=L[0];L[1],L[2];return vt(E,b<p,O,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){C();var e=localStorage.getItem("displayMode");e&&o(e)}),[b]),(0,t.useEffect)((function(){P()}),[v]),(0,t.useEffect)((function(){M()}),[l]),(0,tt.jsx)("div",{className:"page games-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Popular by users"})}),(0,tt.jsxs)("div",{className:"games-page__wrapper",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:S.query,onChange:function(e){return _(et(et({},S),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:S.query,onChange:function(e){return c(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","column"),o("column")},className:"column"===i?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","list"),o("list")},className:"list"===i?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{gamesList:k,page:b,totalPages:p,limit:v,displayMode:i}),j&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:E,className:"observer"}),b<p||O?(0,tt.jsx)(bu,{}):null]})]})})},ju=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),i=a[0],o=a[1],s=u((0,t.useState)(0),2),l=s[0],c=s[1],f=u((0,t.useState)(20),2),p=f[0],h=f[1],m=u((0,t.useState)(1),2),v=m[0],g=m[1],y=u((0,t.useState)(null),2),b=y[0],w=y[1],x=u((0,t.useState)({sort:"",query:""}),2),S=x[0],_=x[1],k=ht(S.sort,n),E=(0,t.useRef)(),T=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam("-rating",p,v);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,c(Cu(a,p));case 6:case"end":return e.stop()}}),e)})))),3),C=T[0],O=T[1],j=T[2],N=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam("-rating",p,v);case 2:t=e.sent,r(t.data.results),n=t.data.count,c(Cu(n,p));case 6:case"end":return e.stop()}}),e)})))),3),P=N[0],L=(N[1],N[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam(p,v,b);case 2:t=e.sent,r(t.data.results),n=t.data.count,c(Cu(n,p));case 6:case"end":return e.stop()}}),e)})))),3)),M=L[0];L[1],L[2];return vt(E,v<l,O,(function(){setTimeout((function(){g(v+1)}),500)})),(0,t.useEffect)((function(){C();var e=localStorage.getItem("displayMode");e&&o(e)}),[v]),(0,t.useEffect)((function(){P()}),[p]),(0,t.useEffect)((function(){M()}),[b]),console.log(d(n)),(0,tt.jsx)("div",{className:"page games-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Games by user rating"})}),(0,tt.jsxs)("div",{className:"games-page__wrapper",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:S.query,onChange:function(e){return _(et(et({},S),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:S.query,onChange:function(e){return w(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:p,onChange:function(e){return h(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","column"),o("column")},className:"column"===i?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","list"),o("list")},className:"list"===i?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{gamesList:k,page:v,totalPages:l,limit:p,displayMode:i}),j&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:E,className:"observer"}),v<l||O?(0,tt.jsx)(bu,{}):null]})]})})},Nu=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),i=a[0],o=a[1],s=u((0,t.useState)(0),2),l=s[0],c=s[1],f=u((0,t.useState)(20),2),p=f[0],h=f[1],m=u((0,t.useState)(1),2),v=m[0],g=m[1],y=u((0,t.useState)(null),2),b=y[0],w=y[1],x=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam("-metacritic",p,v);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,c(Cu(a,p));case 6:case"end":return e.stop()}}),e)})))),3),S=x[0],_=x[1],k=x[2],E=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam("-metacritic",p,v);case 2:t=e.sent,r(t.data.results),n=t.data.count,c(Cu(n,p));case 6:case"end":return e.stop()}}),e)})))),3),T=E[0],C=(E[1],E[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGamesListByParam("-metacritic",p,v,b);case 2:t=e.sent,r(t.data.results),n=t.data.count,c(Cu(n,p));case 6:case"end":return e.stop()}}),e)})))),3)),O=C[0],j=(C[1],C[2],u((0,t.useState)({sort:"",query:""}),2)),N=j[0],P=j[1],L=ht(N.sort,n),M=(0,t.useRef)();return vt(M,v<l,_,(function(){setTimeout((function(){g(v+1)}),500)})),(0,t.useEffect)((function(){S();var e=localStorage.getItem("displayMode");e&&o(e)}),[v]),(0,t.useEffect)((function(){T()}),[p]),(0,t.useEffect)((function(){O()}),[b]),console.log(d(n)),(0,tt.jsx)("div",{className:"page games-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Games by metacritic"})}),(0,tt.jsxs)("div",{className:"games-page__wrapper",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:N.query,onChange:function(e){return P(et(et({},N),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:N.query,onChange:function(e){return w(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:p,onChange:function(e){return h(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","column"),o("column")},className:"column"===i?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){localStorage.setItem("displayMode","list"),o("list")},className:"list"===i?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{gamesList:L,page:v,totalPages:l,limit:p,displayMode:i}),k&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:M,className:"observer"}),v<l||_?(0,tt.jsx)(bu,{}):null]})]})})},Pu=function(){function e(){f(this,e)}return v(e,null,[{key:"getDevelopersList",value:function(){var e=pt(dt().mark((function e(t,n){var r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/developers?key=".concat(ar),{params:{page_size:t,page:n}});case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"getGamesByDeveloperSlug",value:function(){var e=pt(dt().mark((function e(t,n,r,a){var i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?developers=".concat(t,"&key=").concat(ar),{params:{page_size:n,platforms:a,page:r}});case 2:return i=e.sent,e.abrupt("return",i);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}()},{key:"getDevelopersGameById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games/".concat(t,"/development-team?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"getDeveloperById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/developers/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Lu=function(e){var t=e.buttonText,n=e.link,r=e.src,a=e.param;return(0,tt.jsxs)("div",{className:"card-item",style:{backgroundImage:"linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(".concat(r.image_background,")")},children:[(0,tt.jsxs)("div",{className:"card-item__head",children:[(0,tt.jsx)(Ke,{to:"slug"===a?"/".concat(n,"/").concat(r.slug):"/".concat(n,"/").concat(r.id),className:"card-item__head-name",children:r.name}),(0,tt.jsx)("div",{className:"card-item__head-buttonMore",children:(0,tt.jsx)(Ke,{to:"slug"===a?"/".concat(n,"/").concat(r.slug):"/".concat(n,"/").concat(r.id),children:t})})]}),(0,tt.jsx)("div",{className:"card-item__content",children:(0,tt.jsxs)("div",{className:"card-item__content",children:[(0,tt.jsxs)("div",{className:"card-item__content-title",children:["Known for ",r.games_count," games"]}),(0,tt.jsx)("ul",{className:"card-item__content-items",children:r.games.map((function(e){return(0,tt.jsxs)("li",{className:"card-item__content-game",children:[(0,tt.jsx)(Ke,{to:"/games/".concat(e.slug),className:"card-item__content-name",children:e.name}),(0,tt.jsx)("span",{className:"card-item__content-added",children:e.added})]},e.id)}))})]})})]})},Mu=function(e){var t=e.list,n=e.link,r=e.buttonText,a=e.param;return(0,tt.jsx)("div",{className:"card-list",children:(0,tt.jsx)("ul",{className:"card-list__ul",children:t.map((function(e){return(0,tt.jsx)("li",{className:"card-list__li",children:(0,tt.jsx)(Lu,{buttonText:r,src:e,link:n,param:a})},e.id)}))})})},Iu=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(0),2),i=a[0],o=a[1],s=u((0,t.useState)(10),2),l=s[0],c=(s[1],u((0,t.useState)(1),2)),f=c[0],p=c[1],h=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getDevelopersList(l,f);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,o(Cu(a,l));case 6:case"end":return e.stop()}}),e)})))),3),m=h[0],v=h[1],g=h[2],y=(0,t.useRef)();return vt(y,f<i,v,(function(){setTimeout((function(){p(f+1)}),500)})),(0,t.useEffect)((function(){m()}),[f,l]),(0,tt.jsx)("div",{className:"page developers-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Developers"})}),(0,tt.jsxs)("div",{className:"developers-page__wrapper",children:[(0,tt.jsx)("div",{className:"page__about",children:(0,tt.jsxs)("div",{className:"page__about-text",children:[(0,tt.jsx)("p",{children:"Here you can find information about the company or individuals who developed the game, including their history, past projects, and any notable achievements. This information can be useful for players who are interested in learning more about the game development process, as well as for those who want to support their favorite developers by purchasing their games."}),(0,tt.jsx)("p",{children:"This category can also be helpful for players who are looking for new games to play. By browsing through the different developers listed, players can discover new games that share similar styles or themes to their favorite titles. This can help players expand their gaming horizons and find new games that they may not have otherwise discovered."})]})}),(0,tt.jsx)(Mu,{list:n,link:"developers",buttonText:"More",param:"slug"}),g&&(0,tt.jsx)(Tu,{})]}),(0,tt.jsx)("div",{ref:y,className:"observer"}),f<i||v?(0,tt.jsx)(bu,{}):null]})})},Ru=function(){function e(){f(this,e)}return v(e,null,[{key:"getPublishersList",value:function(){var e=pt(dt().mark((function e(t,n){var r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/publishers?key=".concat(ar),{params:{page_size:t,page:n}});case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"getGamesByPublisherSlug",value:function(){var e=pt(dt().mark((function e(t,n,r,a){var i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?publishers=".concat(t,"&key=").concat(ar),{params:{page_size:n,platforms:a,page:r}});case 2:return i=e.sent,e.abrupt("return",i);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}()},{key:"getPublisherBySlug",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/publishers/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Au=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(0),2),i=a[0],o=a[1],s=u((0,t.useState)(10),2),l=s[0],c=(s[1],u((0,t.useState)(1),2)),f=c[0],p=c[1],h=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ru.getPublishersList(l,f);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,o(Cu(a,l));case 6:case"end":return e.stop()}}),e)})))),3),m=h[0],v=h[1],g=h[2],y=(0,t.useRef)();return vt(y,f<i,v,(function(){setTimeout((function(){p(f+1)}),500)})),(0,t.useEffect)((function(){m()}),[f,l]),(0,tt.jsx)("div",{className:"page publishers-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Publishers"})}),(0,tt.jsxs)("div",{className:"publishers-page__wrapper",children:[(0,tt.jsx)("div",{className:"page__about",children:(0,tt.jsxs)("div",{className:"page__about-text",children:[(0,tt.jsx)("p",{children:"Here players can find information about the company responsible for publishing the game, including their history, past projects, and any notable achievements. This information can be useful for players who are interested in learning more about the companies involved in the gaming industry."}),(0,tt.jsx)("p",{children:"This category category can also be helpful for players who are looking for new games to play. By browsing through the different publishers listed, players can discover new games that share similar styles or themes to their favorite titles. This can help players expand their gaming horizons and find new games that they may not have otherwise discovered."})]})}),(0,tt.jsx)(Mu,{list:n,link:"publishers",buttonText:"More",param:"slug"}),g&&(0,tt.jsx)(Tu,{})]}),(0,tt.jsx)("div",{ref:y,className:"observer"}),f<i||v?(0,tt.jsx)(bu,{}):null]})})},Du=function(){function e(){f(this,e)}return v(e,null,[{key:"getGenresList",value:function(){var e=pt(dt().mark((function e(t,n){var r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/genres?key=".concat(ar),{params:{page_size:t,page:n}});case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"getGamesByGenreSlug",value:function(){var e=pt(dt().mark((function e(t,n,r,a){var i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?genres=".concat(t,"&key=").concat(ar),{params:{page_size:n,platforms:a,page:r}});case 2:return i=e.sent,e.abrupt("return",i);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}()},{key:"getGenreBySlug",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/genres/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),zu=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(0),2),i=a[0],o=a[1],s=u((0,t.useState)(10),2),l=s[0],c=(s[1],u((0,t.useState)(1),2)),f=c[0],p=c[1],h=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Du.getGenresList(l,f);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,o(Cu(a,l));case 6:case"end":return e.stop()}}),e)})))),3),m=h[0],v=h[1],g=h[2],y=(0,t.useRef)();return vt(y,f<i,v,(function(){setTimeout((function(){p(f+1)}),500)})),(0,t.useEffect)((function(){m()}),[f,l]),(0,tt.jsx)("div",{className:"page genres-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Genres"})}),(0,tt.jsxs)("div",{className:"genres-page__wrapper",children:[(0,tt.jsx)("div",{className:"page__about",children:(0,tt.jsxs)("div",{className:"page__about-text",children:[(0,tt.jsx)("p",{children:"Here players can find a variety of games ranging from action, adventure, sports, puzzle, racing, role-playing games, and more. Each genre offers a unique gameplay experience, allowing players to immerse themselves in different worlds and engage with different challenges and mechanics."}),(0,tt.jsx)("p",{children:"This category can be helpful for players who are looking for new games to play or want to explore different types of games. By browsing through the different genres, players can discover new games that match their preferred gameplay mechanics or themes. This can help players expand their gaming horizons and find new games that they may not have otherwise discovered."})]})}),(0,tt.jsx)(Mu,{list:n,link:"genres",buttonText:"More",param:"slug"}),g&&(0,tt.jsx)(Tu,{})]}),(0,tt.jsx)("div",{ref:y,className:"observer"}),f<i||v?(0,tt.jsx)(bu,{}):null]})})},Fu=function(){function e(){f(this,e)}return v(e,null,[{key:"getPlatformsList",value:function(){var e=pt(dt().mark((function e(t,n){var r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/platforms?key=".concat(ar),{params:{page_size:t,page:n}});case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"getGamesByPlatformId",value:function(){var e=pt(dt().mark((function e(t,n,r){var a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?platforms=".concat(t,"&key=").concat(ar),{params:{page_size:n,page:r}});case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},{key:"getPlatformById",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/platforms/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Bu=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(0),2),i=a[0],o=a[1],s=u((0,t.useState)(10),2),l=s[0],c=(s[1],u((0,t.useState)(1),2)),f=c[0],p=c[1],h=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Fu.getPlatformsList(l,f);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,o(Cu(a,l));case 6:case"end":return e.stop()}}),e)})))),3),m=h[0],v=h[1],g=h[2],y=(0,t.useRef)();return vt(y,f<i,v,(function(){setTimeout((function(){p(f+1)}),500)})),(0,t.useEffect)((function(){m()}),[f,l]),(0,tt.jsx)("div",{className:"page platforms-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Platforms"})}),(0,tt.jsxs)("div",{className:"platforms-page__wrapper",children:[(0,tt.jsx)("div",{className:"page__about",children:(0,tt.jsxs)("div",{className:"page__about-text",children:[(0,tt.jsx)("p",{children:"Here players can find information about the different platforms on which the game is available, including their technical requirements, compatible devices, and any specific features or limitations. This information can be helpful for players who are interested in buying a game but need to know if their device can run it."}),(0,tt.jsx)("p",{children:"This category can also be helpful for players who are looking for new games to play on a specific device. By selecting a platform that matches their device, players can quickly find games that are compatible with their device and explore new games that they may not have otherwise discovered."})]})}),(0,tt.jsx)(Mu,{list:n,link:"platforms",buttonText:"More",param:"id"}),g&&(0,tt.jsx)(Tu,{})]}),(0,tt.jsx)("div",{ref:y,className:"observer"}),f<i||v?(0,tt.jsx)(bu,{}):null]})})},Vu=function(){function e(){f(this,e)}return v(e,null,[{key:"getTagssList",value:function(){var e=pt(dt().mark((function e(t,n){var r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/tags?key=".concat(ar),{params:{page_size:t,page:n}});case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()},{key:"getGamesByTagSlug",value:function(){var e=pt(dt().mark((function e(t,n,r,a){var i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/games?tags=".concat(t,"&key=").concat(ar),{params:{page_size:n,platforms:a,page:r}});case 2:return i=e.sent,e.abrupt("return",i);case 4:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}()},{key:"getTagBySlug",value:function(){var e=pt(dt().mark((function e(t){var n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rr.get("https://api.rawg.io/api/tags/".concat(t,"?key=").concat(ar));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}]),e}(),Uu=function(){var e=u((0,t.useState)([]),2),n=e[0],r=e[1],a=u((0,t.useState)(0),2),i=a[0],o=a[1],s=u((0,t.useState)(10),2),l=s[0],c=(s[1],u((0,t.useState)(1),2)),f=c[0],p=c[1],h=u(mt(pt(dt().mark((function e(){var t,a;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vu.getTagssList(l,f);case 2:t=e.sent,r([].concat(d(n),d(t.data.results))),a=t.data.count,o(Cu(a,l));case 6:case"end":return e.stop()}}),e)})))),3),m=h[0],v=h[1],g=h[2],y=(0,t.useRef)();return vt(y,f<i,v,(function(){setTimeout((function(){p(f+1)}),500)})),(0,t.useEffect)((function(){m()}),[f,l]),(0,tt.jsx)("div",{className:"page platforms-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsx)("div",{className:"section-header",children:(0,tt.jsx)("h2",{className:"section-title",children:"Tags"})}),(0,tt.jsxs)("div",{className:"platforms-page__wrapper",children:[(0,tt.jsx)("div",{className:"page__about",children:(0,tt.jsxs)("div",{className:"page__about-text",children:[(0,tt.jsx)("p",{children:"Tags are essentially keywords or labels that are associated with a particular video game. They are used to categorize games into different genres, themes, or gameplay features, making it easier for you to browse and discover new games that match your preferences."}),(0,tt.jsx)("p",{children:'For example, if you\'re a fan of first-person shooters, you can easily find games with the "FPS" tag. Similarly, if you\'re interested in puzzle games, you can look for games with the "Puzzle" or "Brain Teaser" tags. Tags also help you to refine your search results, by allowing you to filter games based on certain criteria. You can narrow down your search results by selecting multiple tags, such as "Action," "Open World," and "Fantasy," to find games that match your specific interests.'})]})}),(0,tt.jsx)(Mu,{list:n,link:"tags",buttonText:"More",param:"slug"}),g&&(0,tt.jsx)(Tu,{})]}),(0,tt.jsx)("div",{ref:y,className:"observer"}),f<i||v?(0,tt.jsx)(bu,{}):null]})})},Hu=n(703),Wu=n.n(Hu),Gu="Loader_loaderWrapper__VBB7A",$u=function(){return(0,tt.jsx)("div",{className:Gu,children:(0,tt.jsx)(gu,{height:"80",width:"80",ariaLabel:"progress-bar-loading",borderColor:"#F4442E",barColor:"#1A1D2F"})})},qu=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)(null),2),S=x[0],_=x[1],k=u((0,t.useState)({sort:"",query:""}),2),E=k[0],T=k[1],C=ht(E.sort,i),O=ke(),j=(0,t.useRef)(),N=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getDeveloperById(O.slug);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),P=N[0],L=N[1],M=N[2],I=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getGamesByDeveloperSlug(O.slug,v,b);case 2:t=e.sent,o([].concat(d(i),d(t.data.results))),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),R=I[0],A=I[1],D=I[2],z=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getGamesByDeveloperSlug(O.slug,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),F=z[0],B=(z[1],z[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getGamesByDeveloperSlug(O.slug,v,b,S);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3)),V=B[0],U=(B[1],B[2],Wu().sanitize(n.description));return vt(j,b<p,A,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){P(),R(),window.scrollTo(0,0);var e=localStorage.getItem("displayMode");e&&c(e)}),[O.slug]),(0,t.useEffect)((function(){R()}),[b]),(0,t.useEffect)((function(){F()}),[v]),(0,t.useEffect)((function(){V()}),[S]),(0,tt.jsxs)("div",{className:"page developer-page",children:[(0,tt.jsx)("div",{className:"container",children:L?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"developer-page__wrapper",children:[(0,tt.jsx)("div",{className:"developer-page__main",children:(0,tt.jsx)("div",{className:"developer-page__head",children:(0,tt.jsxs)("h1",{className:"developer-page__name",children:[n.name," Developer"]})})}),(0,tt.jsx)("div",{className:"developer-page__about",children:""===n.description?(0,tt.jsx)("div",{className:"developer-page__about-text",children:"There is no information about this developer"}):(0,tt.jsx)("div",{className:"developer-page__about-text",dangerouslySetInnerHTML:{__html:U}})}),(0,tt.jsxs)("div",{className:"developer-page__games",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return T(et(et({},E),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return _(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return c("column")},className:"column"===l?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return c("list")},className:"list"===l?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{displayMode:l,gamesList:C}),(M||D)&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:j,className:"observer"}),b<p||A?(0,tt.jsx)(bu,{}):null]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.image_background,")")}})})})]})};var Ku=n.p+"static/media/modal-close.f556d441d89f2bfca4f99daaf847d978.svg",Yu="Modal_modal__LvcCf",Xu="Modal_modalOverlay__1hC7g",Qu="Modal_modalContent__H1ti6",Ju="Modal_modalClose__VAPnh",Zu="Modal_buttonClose__PbZm0",ec=function(e){function n(t){"Escape"===t.key&&e.handleClose()}return(0,t.useEffect)((function(){return window.addEventListener("keydown",n),function(){window.removeEventListener("keydown",n)}}),[]),(0,tt.jsxs)("div",{className:Yu,children:[(0,tt.jsx)("div",{className:Xu,onClick:e.handleClose}),(0,tt.jsx)("button",{className:Ju,onClick:e.handleClose,children:(0,tt.jsx)("img",{src:Ku,alt:"close modal",className:Zu})}),(0,tt.jsx)("div",{className:Qu,children:e.children})]})};function tc(e){return null!==e&&"object"===typeof e&&"constructor"in e&&e.constructor===Object}function nc(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.keys(t).forEach((function(n){"undefined"===typeof e[n]?e[n]=t[n]:tc(t[n])&&tc(e[n])&&Object.keys(t[n]).length>0&&nc(e[n],t[n])}))}var rc={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function ac(){var e="undefined"!==typeof document?document:{};return nc(e,rc),e}var ic,oc,sc,lc={document:rc,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}},requestAnimationFrame:function(e){return"undefined"===typeof setTimeout?(e(),null):setTimeout(e,0)},cancelAnimationFrame:function(e){"undefined"!==typeof setTimeout&&clearTimeout(e)}};function uc(){var e="undefined"!==typeof window?window:{};return nc(e,lc),e}function cc(e){return setTimeout(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)}function dc(){return Date.now()}function fc(e){var t,n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",i=uc(),o=function(e){var t,n=uc();return n.getComputedStyle&&(t=n.getComputedStyle(e,null)),!t&&e.currentStyle&&(t=e.currentStyle),t||(t=e.style),t}(e);return i.WebKitCSSMatrix?((n=o.transform||o.webkitTransform).split(",").length>6&&(n=n.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new i.WebKitCSSMatrix("none"===n?"":n)):t=(r=o.MozTransform||o.OTransform||o.MsTransform||o.msTransform||o.transform||o.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===a&&(n=i.WebKitCSSMatrix?r.m41:16===t.length?parseFloat(t[12]):parseFloat(t[4])),"y"===a&&(n=i.WebKitCSSMatrix?r.m42:16===t.length?parseFloat(t[13]):parseFloat(t[5])),n||0}function pc(e){return"object"===typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function hc(e){return"undefined"!==typeof window&&"undefined"!==typeof window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function mc(){for(var e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"],n=1;n<arguments.length;n+=1){var r=n<0||arguments.length<=n?void 0:arguments[n];if(void 0!==r&&null!==r&&!hc(r))for(var a=Object.keys(Object(r)).filter((function(e){return t.indexOf(e)<0})),i=0,o=a.length;i<o;i+=1){var s=a[i],l=Object.getOwnPropertyDescriptor(r,s);void 0!==l&&l.enumerable&&(pc(e[s])&&pc(r[s])?r[s].__swiper__?e[s]=r[s]:mc(e[s],r[s]):!pc(e[s])&&pc(r[s])?(e[s]={},r[s].__swiper__?e[s]=r[s]:mc(e[s],r[s])):e[s]=r[s])}}return e}function vc(e,t,n){e.style.setProperty(t,n)}function gc(e){var t,n=e.swiper,r=e.targetPosition,a=e.side,i=uc(),o=-n.translate,s=null,l=n.params.speed;n.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(n.cssModeFrameID);var u=r>o?"next":"prev",c=function(e,t){return"next"===u&&e>=t||"prev"===u&&e<=t};!function e(){t=(new Date).getTime(),null===s&&(s=t);var u=Math.max(Math.min((t-s)/l,1),0),d=.5-Math.cos(u*Math.PI)/2,f=o+d*(r-o);if(c(f,r)&&(f=r),n.wrapperEl.scrollTo(Je({},a,f)),c(f,r))return n.wrapperEl.style.overflow="hidden",n.wrapperEl.style.scrollSnapType="",setTimeout((function(){n.wrapperEl.style.overflow="",n.wrapperEl.scrollTo(Je({},a,f))})),void i.cancelAnimationFrame(n.cssModeFrameID);n.cssModeFrameID=i.requestAnimationFrame(e)}()}function yc(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return d(e.children).filter((function(e){return e.matches(t)}))}function bc(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=document.createElement(e);return(t=r.classList).add.apply(t,d(Array.isArray(n)?n:[n])),r}function wc(e,t){return uc().getComputedStyle(e,null).getPropertyValue(t)}function xc(e){var t,n=e;if(n){for(t=0;null!==(n=n.previousSibling);)1===n.nodeType&&(t+=1);return t}}function Sc(e,t){for(var n=[],r=e.parentElement;r;)t?r.matches(t)&&n.push(r):n.push(r),r=r.parentElement;return n}function _c(e,t){t&&e.addEventListener("transitionend",(function n(r){r.target===e&&(t.call(e,r),e.removeEventListener("transitionend",n))}))}function kc(e,t,n){var r=uc();return n?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(r.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function Ec(){return ic||(ic=function(){var e=uc(),t=ac();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),ic}function Tc(){return oc||(oc=function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).userAgent,t=Ec(),n=uc(),r=n.navigator.platform,a=e||n.navigator.userAgent,i={ios:!1,android:!1},o=n.screen.width,s=n.screen.height,l=a.match(/(Android);?[\s\/]+([\d.]+)?/),u=a.match(/(iPad).*OS\s([\d_]+)/),c=a.match(/(iPod)(.*OS\s([\d_]+))?/),d=!u&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),f="Win32"===r,p="MacIntel"===r;return!u&&p&&t.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf("".concat(o,"x").concat(s))>=0&&((u=a.match(/(Version)\/([\d.]+)/))||(u=[0,1,"13_0_0"]),p=!1),l&&!f&&(i.os="android",i.android=!0),(u||d||c)&&(i.os="ios",i.ios=!0),i}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})),oc}function Cc(){return sc||(sc=function(){var e=uc(),t=!1;function n(){var t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(n()){var r=String(e.navigator.userAgent);if(r.includes("Version/")){var a=u(r.split("Version/")[1].split(" ")[0].split(".").map((function(e){return Number(e)})),2),i=a[0],o=a[1];t=i<16||16===i&&o<2}}return{isSafari:t||n(),needPerspectiveFix:t,isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),sc}var Oc={on:function(e,t,n){var r=this;if(!r.eventsListeners||r.destroyed)return r;if("function"!==typeof t)return r;var a=n?"unshift":"push";return e.split(" ").forEach((function(e){r.eventsListeners[e]||(r.eventsListeners[e]=[]),r.eventsListeners[e][a](t)})),r},once:function(e,t,n){var r=this;if(!r.eventsListeners||r.destroyed)return r;if("function"!==typeof t)return r;function a(){r.off(e,a),a.__emitterProxy&&delete a.__emitterProxy;for(var n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];t.apply(r,i)}return a.__emitterProxy=t,r.on(e,a,n)},onAny:function(e,t){var n=this;if(!n.eventsListeners||n.destroyed)return n;if("function"!==typeof e)return n;var r=t?"unshift":"push";return n.eventsAnyListeners.indexOf(e)<0&&n.eventsAnyListeners[r](e),n},offAny:function(e){var t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;var n=t.eventsAnyListeners.indexOf(e);return n>=0&&t.eventsAnyListeners.splice(n,1),t},off:function(e,t){var n=this;return!n.eventsListeners||n.destroyed?n:n.eventsListeners?(e.split(" ").forEach((function(e){"undefined"===typeof t?n.eventsListeners[e]=[]:n.eventsListeners[e]&&n.eventsListeners[e].forEach((function(r,a){(r===t||r.__emitterProxy&&r.__emitterProxy===t)&&n.eventsListeners[e].splice(a,1)}))})),n):n},emit:function(){var e,t,n,r=this;if(!r.eventsListeners||r.destroyed)return r;if(!r.eventsListeners)return r;for(var a=arguments.length,i=new Array(a),o=0;o<a;o++)i[o]=arguments[o];return"string"===typeof i[0]||Array.isArray(i[0])?(e=i[0],t=i.slice(1,i.length),n=r):(e=i[0].events,t=i[0].data,n=i[0].context||r),t.unshift(n),(Array.isArray(e)?e:e.split(" ")).forEach((function(e){r.eventsAnyListeners&&r.eventsAnyListeners.length&&r.eventsAnyListeners.forEach((function(r){r.apply(n,[e].concat(d(t)))})),r.eventsListeners&&r.eventsListeners[e]&&r.eventsListeners[e].forEach((function(e){e.apply(n,t)}))})),r}};var jc={updateSize:function(){var e,t,n=this,r=n.el;e="undefined"!==typeof n.params.width&&null!==n.params.width?n.params.width:r.clientWidth,t="undefined"!==typeof n.params.height&&null!==n.params.height?n.params.height:r.clientHeight,0===e&&n.isHorizontal()||0===t&&n.isVertical()||(e=e-parseInt(wc(r,"padding-left")||0,10)-parseInt(wc(r,"padding-right")||0,10),t=t-parseInt(wc(r,"padding-top")||0,10)-parseInt(wc(r,"padding-bottom")||0,10),Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),Object.assign(n,{width:e,height:t,size:n.isHorizontal()?e:t}))},updateSlides:function(){var e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function n(e,n){return parseFloat(e.getPropertyValue(t(n))||0)}var r=e.params,a=e.wrapperEl,i=e.slidesEl,o=e.size,s=e.rtlTranslate,l=e.wrongRTL,u=e.virtual&&r.virtual.enabled,c=u?e.virtual.slides.length:e.slides.length,d=yc(i,".".concat(e.params.slideClass,", swiper-slide")),f=u?e.virtual.slides.length:d.length,p=[],h=[],m=[],v=r.slidesOffsetBefore;"function"===typeof v&&(v=r.slidesOffsetBefore.call(e));var g=r.slidesOffsetAfter;"function"===typeof g&&(g=r.slidesOffsetAfter.call(e));var y=e.snapGrid.length,b=e.slidesGrid.length,w=r.spaceBetween,x=-v,S=0,_=0;if("undefined"!==typeof o){"string"===typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*o),e.virtualSize=-w,d.forEach((function(e){s?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""})),r.centeredSlides&&r.cssMode&&(vc(a,"--swiper-centered-offset-before",""),vc(a,"--swiper-centered-offset-after",""));var k,E=r.grid&&r.grid.rows>1&&e.grid;E&&e.grid.initSlides(f);for(var T="auto"===r.slidesPerView&&r.breakpoints&&Object.keys(r.breakpoints).filter((function(e){return"undefined"!==typeof r.breakpoints[e].slidesPerView})).length>0,C=0;C<f;C+=1){k=0;var O=void 0;if(d[C]&&(O=d[C]),E&&e.grid.updateSlide(C,O,f,t),!d[C]||"none"!==wc(O,"display")){if("auto"===r.slidesPerView){T&&(d[C].style[t("width")]="");var j=getComputedStyle(O),N=O.style.transform,P=O.style.webkitTransform;if(N&&(O.style.transform="none"),P&&(O.style.webkitTransform="none"),r.roundLengths)k=e.isHorizontal()?kc(O,"width",!0):kc(O,"height",!0);else{var L=n(j,"width"),M=n(j,"padding-left"),I=n(j,"padding-right"),R=n(j,"margin-left"),A=n(j,"margin-right"),D=j.getPropertyValue("box-sizing");if(D&&"border-box"===D)k=L+R+A;else{var z=O,F=z.clientWidth;k=L+M+I+R+A+(z.offsetWidth-F)}}N&&(O.style.transform=N),P&&(O.style.webkitTransform=P),r.roundLengths&&(k=Math.floor(k))}else k=(o-(r.slidesPerView-1)*w)/r.slidesPerView,r.roundLengths&&(k=Math.floor(k)),d[C]&&(d[C].style[t("width")]="".concat(k,"px"));d[C]&&(d[C].swiperSlideSize=k),m.push(k),r.centeredSlides?(x=x+k/2+S/2+w,0===S&&0!==C&&(x=x-o/2-w),0===C&&(x=x-o/2-w),Math.abs(x)<.001&&(x=0),r.roundLengths&&(x=Math.floor(x)),_%r.slidesPerGroup===0&&p.push(x),h.push(x)):(r.roundLengths&&(x=Math.floor(x)),(_-Math.min(e.params.slidesPerGroupSkip,_))%e.params.slidesPerGroup===0&&p.push(x),h.push(x),x=x+k+w),e.virtualSize+=k+w,S=k,_+=1}}if(e.virtualSize=Math.max(e.virtualSize,o)+g,s&&l&&("slide"===r.effect||"coverflow"===r.effect)&&(a.style.width="".concat(e.virtualSize+r.spaceBetween,"px")),r.setWrapperSize&&(a.style[t("width")]="".concat(e.virtualSize+r.spaceBetween,"px")),E&&e.grid.updateWrapperSize(k,p,t),!r.centeredSlides){for(var B=[],V=0;V<p.length;V+=1){var U=p[V];r.roundLengths&&(U=Math.floor(U)),p[V]<=e.virtualSize-o&&B.push(U)}p=B,Math.floor(e.virtualSize-o)-Math.floor(p[p.length-1])>1&&p.push(e.virtualSize-o)}if(u&&r.loop){var H=m[0]+w;if(r.slidesPerGroup>1)for(var W=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/r.slidesPerGroup),G=H*r.slidesPerGroup,$=0;$<W;$+=1)p.push(p[p.length-1]+G);for(var q=0;q<e.virtual.slidesBefore+e.virtual.slidesAfter;q+=1)1===r.slidesPerGroup&&p.push(p[p.length-1]+H),h.push(h[h.length-1]+H),e.virtualSize+=H}if(0===p.length&&(p=[0]),0!==r.spaceBetween){var K=e.isHorizontal()&&s?"marginLeft":t("marginRight");d.filter((function(e,t){return!(r.cssMode&&!r.loop)||t!==d.length-1})).forEach((function(e){e.style[K]="".concat(w,"px")}))}if(r.centeredSlides&&r.centeredSlidesBounds){var Y=0;m.forEach((function(e){Y+=e+(r.spaceBetween?r.spaceBetween:0)}));var X=(Y-=r.spaceBetween)-o;p=p.map((function(e){return e<0?-v:e>X?X+g:e}))}if(r.centerInsufficientSlides){var Q=0;if(m.forEach((function(e){Q+=e+(r.spaceBetween?r.spaceBetween:0)})),(Q-=r.spaceBetween)<o){var J=(o-Q)/2;p.forEach((function(e,t){p[t]=e-J})),h.forEach((function(e,t){h[t]=e+J}))}}if(Object.assign(e,{slides:d,snapGrid:p,slidesGrid:h,slidesSizesGrid:m}),r.centeredSlides&&r.cssMode&&!r.centeredSlidesBounds){vc(a,"--swiper-centered-offset-before","".concat(-p[0],"px")),vc(a,"--swiper-centered-offset-after","".concat(e.size/2-m[m.length-1]/2,"px"));var Z=-e.snapGrid[0],ee=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((function(e){return e+Z})),e.slidesGrid=e.slidesGrid.map((function(e){return e+ee}))}if(f!==c&&e.emit("slidesLengthChange"),p.length!==y&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),r.watchSlidesProgress&&e.updateSlidesOffset(),!u&&!r.cssMode&&("slide"===r.effect||"fade"===r.effect)){var te="".concat(r.containerModifierClass,"backface-hidden"),ne=e.el.classList.contains(te);f<=r.maxBackfaceHiddenSlides?ne||e.el.classList.add(te):ne&&e.el.classList.remove(te)}}},updateAutoHeight:function(e){var t,n=this,r=[],a=n.virtual&&n.params.virtual.enabled,i=0;"number"===typeof e?n.setTransition(e):!0===e&&n.setTransition(n.params.speed);var o=function(e){return a?n.slides.filter((function(t){return parseInt(t.getAttribute("data-swiper-slide-index"),10)===e}))[0]:n.slides[e]};if("auto"!==n.params.slidesPerView&&n.params.slidesPerView>1)if(n.params.centeredSlides)(n.visibleSlides||[]).forEach((function(e){r.push(e)}));else for(t=0;t<Math.ceil(n.params.slidesPerView);t+=1){var s=n.activeIndex+t;if(s>n.slides.length&&!a)break;r.push(o(s))}else r.push(o(n.activeIndex));for(t=0;t<r.length;t+=1)if("undefined"!==typeof r[t]){var l=r[t].offsetHeight;i=l>i?l:i}(i||0===i)&&(n.wrapperEl.style.height="".concat(i,"px"))},updateSlidesOffset:function(){for(var e=this,t=e.slides,n=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0,r=0;r<t.length;r+=1)t[r].swiperSlideOffset=(e.isHorizontal()?t[r].offsetLeft:t[r].offsetTop)-n},updateSlidesProgress:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this&&this.translate||0,t=this,n=t.params,r=t.slides,a=t.rtlTranslate,i=t.snapGrid;if(0!==r.length){"undefined"===typeof r[0].swiperSlideOffset&&t.updateSlidesOffset();var o=-e;a&&(o=e),r.forEach((function(e){e.classList.remove(n.slideVisibleClass)})),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(var s=0;s<r.length;s+=1){var l=r[s],u=l.swiperSlideOffset;n.cssMode&&n.centeredSlides&&(u-=r[0].swiperSlideOffset);var c=(o+(n.centeredSlides?t.minTranslate():0)-u)/(l.swiperSlideSize+n.spaceBetween),d=(o-i[0]+(n.centeredSlides?t.minTranslate():0)-u)/(l.swiperSlideSize+n.spaceBetween),f=-(o-u),p=f+t.slidesSizesGrid[s];(f>=0&&f<t.size-1||p>1&&p<=t.size||f<=0&&p>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(s),r[s].classList.add(n.slideVisibleClass)),l.progress=a?-c:c,l.originalProgress=a?-d:d}}},updateProgress:function(e){var t=this;if("undefined"===typeof e){var n=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*n||0}var r=t.params,a=t.maxTranslate()-t.minTranslate(),i=t.progress,o=t.isBeginning,s=t.isEnd,l=t.progressLoop,u=o,c=s;if(0===a)i=0,o=!0,s=!0;else{i=(e-t.minTranslate())/a;var d=Math.abs(e-t.minTranslate())<1,f=Math.abs(e-t.maxTranslate())<1;o=d||i<=0,s=f||i>=1,d&&(i=0),f&&(i=1)}if(r.loop){var p=t.getSlideIndex(t.slides.filter((function(e){return"0"===e.getAttribute("data-swiper-slide-index")}))[0]),h=t.getSlideIndex(t.slides.filter((function(e){return 1*e.getAttribute("data-swiper-slide-index")===t.slides.length-1}))[0]),m=t.slidesGrid[p],v=t.slidesGrid[h],g=t.slidesGrid[t.slidesGrid.length-1],y=Math.abs(e);(l=y>=m?(y-m)/g:(y+g-v)/g)>1&&(l-=1)}Object.assign(t,{progress:i,progressLoop:l,isBeginning:o,isEnd:s}),(r.watchSlidesProgress||r.centeredSlides&&r.autoHeight)&&t.updateSlidesProgress(e),o&&!u&&t.emit("reachBeginning toEdge"),s&&!c&&t.emit("reachEnd toEdge"),(u&&!o||c&&!s)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){var e,t=this,n=t.slides,r=t.params,a=t.slidesEl,i=t.activeIndex,o=t.virtual&&r.virtual.enabled,s=function(e){return yc(a,".".concat(r.slideClass).concat(e,", swiper-slide").concat(e))[0]};if(n.forEach((function(e){e.classList.remove(r.slideActiveClass,r.slideNextClass,r.slidePrevClass)})),o)if(r.loop){var l=i-t.virtual.slidesBefore;l<0&&(l=t.virtual.slides.length+l),l>=t.virtual.slides.length&&(l-=t.virtual.slides.length),e=s('[data-swiper-slide-index="'.concat(l,'"]'))}else e=s('[data-swiper-slide-index="'.concat(i,'"]'));else e=n[i];if(e){e.classList.add(r.slideActiveClass);var u=function(e,t){for(var n=[];e.nextElementSibling;){var r=e.nextElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}(e,".".concat(r.slideClass,", swiper-slide"))[0];r.loop&&!u&&(u=n[0]),u&&u.classList.add(r.slideNextClass);var c=function(e,t){for(var n=[];e.previousElementSibling;){var r=e.previousElementSibling;t?r.matches(t)&&n.push(r):n.push(r),e=r}return n}(e,".".concat(r.slideClass,", swiper-slide"))[0];r.loop&&0===!c&&(c=n[n.length-1]),c&&c.classList.add(r.slidePrevClass)}t.emitSlidesClasses()},updateActiveIndex:function(e){var t,n,r=this,a=r.rtlTranslate?r.translate:-r.translate,i=r.snapGrid,o=r.params,s=r.activeIndex,l=r.realIndex,u=r.snapIndex,c=e,d=function(e){var t=e-r.virtual.slidesBefore;return t<0&&(t=r.virtual.slides.length+t),t>=r.virtual.slides.length&&(t-=r.virtual.slides.length),t};if("undefined"===typeof c&&(c=function(e){for(var t,n=e.slidesGrid,r=e.params,a=e.rtlTranslate?e.translate:-e.translate,i=0;i<n.length;i+=1)"undefined"!==typeof n[i+1]?a>=n[i]&&a<n[i+1]-(n[i+1]-n[i])/2?t=i:a>=n[i]&&a<n[i+1]&&(t=i+1):a>=n[i]&&(t=i);return r.normalizeSlideIndex&&(t<0||"undefined"===typeof t)&&(t=0),t}(r)),i.indexOf(a)>=0)t=i.indexOf(a);else{var f=Math.min(o.slidesPerGroupSkip,c);t=f+Math.floor((c-f)/o.slidesPerGroup)}if(t>=i.length&&(t=i.length-1),c===s)return t!==u&&(r.snapIndex=t,r.emit("snapIndexChange")),void(r.params.loop&&r.virtual&&r.params.virtual.enabled&&(r.realIndex=d(c)));n=r.virtual&&o.virtual.enabled&&o.loop?d(c):r.slides[c]?parseInt(r.slides[c].getAttribute("data-swiper-slide-index")||c,10):c,Object.assign(r,{snapIndex:t,realIndex:n,previousIndex:s,activeIndex:c}),r.emit("activeIndexChange"),r.emit("snapIndexChange"),l!==n&&r.emit("realIndexChange"),(r.initialized||r.params.runCallbacksOnInit)&&r.emit("slideChange")},updateClickedSlide:function(e){var t,n=this,r=n.params,a=e.closest(".".concat(r.slideClass,", swiper-slide")),i=!1;if(a)for(var o=0;o<n.slides.length;o+=1)if(n.slides[o]===a){i=!0,t=o;break}if(!a||!i)return n.clickedSlide=void 0,void(n.clickedIndex=void 0);n.clickedSlide=a,n.virtual&&n.params.virtual.enabled?n.clickedIndex=parseInt(a.getAttribute("data-swiper-slide-index"),10):n.clickedIndex=t,r.slideToClickedSlide&&void 0!==n.clickedIndex&&n.clickedIndex!==n.activeIndex&&n.slideToClickedSlide()}};var Nc={getTranslate:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.isHorizontal()?"x":"y",t=this,n=t.params,r=t.rtlTranslate,a=t.translate,i=t.wrapperEl;if(n.virtualTranslate)return r?-a:a;if(n.cssMode)return a;var o=fc(i,e);return r&&(o=-o),o||0},setTranslate:function(e,t){var n=this,r=n.rtlTranslate,a=n.params,i=n.wrapperEl,o=n.progress,s=0,l=0;n.isHorizontal()?s=r?-e:e:l=e,a.roundLengths&&(s=Math.floor(s),l=Math.floor(l)),a.cssMode?i[n.isHorizontal()?"scrollLeft":"scrollTop"]=n.isHorizontal()?-s:-l:a.virtualTranslate||(i.style.transform="translate3d(".concat(s,"px, ").concat(l,"px, ").concat(0,"px)")),n.previousTranslate=n.translate,n.translate=n.isHorizontal()?s:l;var u=n.maxTranslate()-n.minTranslate();(0===u?0:(e-n.minTranslate())/u)!==o&&n.updateProgress(e),n.emit("setTranslate",n.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.params.speed,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],a=arguments.length>4?arguments[4]:void 0,i=this,o=i.params,s=i.wrapperEl;if(i.animating&&o.preventInteractionOnTransition)return!1;var l,u=i.minTranslate(),c=i.maxTranslate();if(l=r&&e>u?u:r&&e<c?c:e,i.updateProgress(l),o.cssMode){var d=i.isHorizontal();if(0===t)s[d?"scrollLeft":"scrollTop"]=-l;else{var f;if(!i.support.smoothScroll)return gc({swiper:i,targetPosition:-l,side:d?"left":"top"}),!0;s.scrollTo((Je(f={},d?"left":"top",-l),Je(f,"behavior","smooth"),f))}return!0}return 0===t?(i.setTransition(0),i.setTranslate(l),n&&(i.emit("beforeTransitionStart",t,a),i.emit("transitionEnd"))):(i.setTransition(t),i.setTranslate(l),n&&(i.emit("beforeTransitionStart",t,a),i.emit("transitionStart")),i.animating||(i.animating=!0,i.onTranslateToWrapperTransitionEnd||(i.onTranslateToWrapperTransitionEnd=function(e){i&&!i.destroyed&&e.target===this&&(i.wrapperEl.removeEventListener("transitionend",i.onTranslateToWrapperTransitionEnd),i.onTranslateToWrapperTransitionEnd=null,delete i.onTranslateToWrapperTransitionEnd,n&&i.emit("transitionEnd"))}),i.wrapperEl.addEventListener("transitionend",i.onTranslateToWrapperTransitionEnd))),!0}};function Pc(e){var t=e.swiper,n=e.runCallbacks,r=e.direction,a=e.step,i=t.activeIndex,o=t.previousIndex,s=r;if(s||(s=i>o?"next":i<o?"prev":"reset"),t.emit("transition".concat(a)),n&&i!==o){if("reset"===s)return void t.emit("slideResetTransition".concat(a));t.emit("slideChangeTransition".concat(a)),"next"===s?t.emit("slideNextTransition".concat(a)):t.emit("slidePrevTransition".concat(a))}}var Lc={setTransition:function(e,t){var n=this;n.params.cssMode||(n.wrapperEl.style.transitionDuration="".concat(e,"ms")),n.emit("setTransition",e,t)},transitionStart:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0,n=this,r=n.params;r.cssMode||(r.autoHeight&&n.updateAutoHeight(),Pc({swiper:n,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments.length>1?arguments[1]:void 0,n=this,r=n.params;n.animating=!1,r.cssMode||(n.setTransition(0),Pc({swiper:n,runCallbacks:e,direction:t,step:"End"}))}};var Mc={slideTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.params.speed,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;"string"===typeof e&&(e=parseInt(e,10));var i=this,o=e;o<0&&(o=0);var s=i.params,l=i.snapGrid,u=i.slidesGrid,c=i.previousIndex,d=i.activeIndex,f=i.rtlTranslate,p=i.wrapperEl,h=i.enabled;if(i.animating&&s.preventInteractionOnTransition||!h&&!r&&!a)return!1;var m=Math.min(i.params.slidesPerGroupSkip,o),v=m+Math.floor((o-m)/i.params.slidesPerGroup);v>=l.length&&(v=l.length-1);var g,y=-l[v];if(s.normalizeSlideIndex)for(var b=0;b<u.length;b+=1){var w=-Math.floor(100*y),x=Math.floor(100*u[b]),S=Math.floor(100*u[b+1]);"undefined"!==typeof u[b+1]?w>=x&&w<S-(S-x)/2?o=b:w>=x&&w<S&&(o=b+1):w>=x&&(o=b)}if(i.initialized&&o!==d){if(!i.allowSlideNext&&y<i.translate&&y<i.minTranslate())return!1;if(!i.allowSlidePrev&&y>i.translate&&y>i.maxTranslate()&&(d||0)!==o)return!1}if(o!==(c||0)&&n&&i.emit("beforeSlideChangeStart"),i.updateProgress(y),g=o>d?"next":o<d?"prev":"reset",f&&-y===i.translate||!f&&y===i.translate)return i.updateActiveIndex(o),s.autoHeight&&i.updateAutoHeight(),i.updateSlidesClasses(),"slide"!==s.effect&&i.setTranslate(y),"reset"!==g&&(i.transitionStart(n,g),i.transitionEnd(n,g)),!1;if(s.cssMode){var _=i.isHorizontal(),k=f?y:-y;if(0===t){var E=i.virtual&&i.params.virtual.enabled;E&&(i.wrapperEl.style.scrollSnapType="none",i._immediateVirtual=!0),E&&!i._cssModeVirtualInitialSet&&i.params.initialSlide>0?(i._cssModeVirtualInitialSet=!0,requestAnimationFrame((function(){p[_?"scrollLeft":"scrollTop"]=k}))):p[_?"scrollLeft":"scrollTop"]=k,E&&requestAnimationFrame((function(){i.wrapperEl.style.scrollSnapType="",i._immediateVirtual=!1}))}else{var T;if(!i.support.smoothScroll)return gc({swiper:i,targetPosition:k,side:_?"left":"top"}),!0;p.scrollTo((Je(T={},_?"left":"top",k),Je(T,"behavior","smooth"),T))}return!0}return i.setTransition(t),i.setTranslate(y),i.updateActiveIndex(o),i.updateSlidesClasses(),i.emit("beforeTransitionStart",t,r),i.transitionStart(n,g),0===t?i.transitionEnd(n,g):i.animating||(i.animating=!0,i.onSlideToWrapperTransitionEnd||(i.onSlideToWrapperTransitionEnd=function(e){i&&!i.destroyed&&e.target===this&&(i.wrapperEl.removeEventListener("transitionend",i.onSlideToWrapperTransitionEnd),i.onSlideToWrapperTransitionEnd=null,delete i.onSlideToWrapperTransitionEnd,i.transitionEnd(n,g))}),i.wrapperEl.addEventListener("transitionend",i.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.params.speed,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3?arguments[3]:void 0;"string"===typeof e&&(e=parseInt(e,10));var a=this,i=e;return a.params.loop&&(a.virtual&&a.params.virtual.enabled?i+=a.virtual.slidesBefore:i=a.getSlideIndex(a.slides.filter((function(e){return 1*e.getAttribute("data-swiper-slide-index")===i}))[0])),a.slideTo(i,t,n,r)},slideNext:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.params.speed,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=this,a=r.enabled,i=r.params,o=r.animating;if(!a)return r;var s=i.slidesPerGroup;"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(s=Math.max(r.slidesPerViewDynamic("current",!0),1));var l=r.activeIndex<i.slidesPerGroupSkip?1:s,u=r.virtual&&i.virtual.enabled;if(i.loop){if(o&&!u&&i.loopPreventsSliding)return!1;r.loopFix({direction:"next"}),r._clientLeft=r.wrapperEl.clientLeft}return i.rewind&&r.isEnd?r.slideTo(0,e,t,n):r.slideTo(r.activeIndex+l,e,t,n)},slidePrev:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.params.speed,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=this,a=r.params,i=r.snapGrid,o=r.slidesGrid,s=r.rtlTranslate,l=r.enabled,u=r.animating;if(!l)return r;var c=r.virtual&&a.virtual.enabled;if(a.loop){if(u&&!c&&a.loopPreventsSliding)return!1;r.loopFix({direction:"prev"}),r._clientLeft=r.wrapperEl.clientLeft}function d(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var f,p=d(s?r.translate:-r.translate),h=i.map((function(e){return d(e)})),m=i[h.indexOf(p)-1];"undefined"===typeof m&&a.cssMode&&(i.forEach((function(e,t){p>=e&&(f=t)})),"undefined"!==typeof f&&(m=i[f>0?f-1:f]));var v=0;if("undefined"!==typeof m&&((v=o.indexOf(m))<0&&(v=r.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(v=v-r.slidesPerViewDynamic("previous",!0)+1,v=Math.max(v,0))),a.rewind&&r.isBeginning){var g=r.params.virtual&&r.params.virtual.enabled&&r.virtual?r.virtual.slides.length-1:r.slides.length-1;return r.slideTo(g,e,t,n)}return r.slideTo(v,e,t,n)},slideReset:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.params.speed,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0;return this.slideTo(this.activeIndex,e,t,n)},slideToClosest:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.params.speed,t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5,a=this,i=a.activeIndex,o=Math.min(a.params.slidesPerGroupSkip,i),s=o+Math.floor((i-o)/a.params.slidesPerGroup),l=a.rtlTranslate?a.translate:-a.translate;if(l>=a.snapGrid[s]){var u=a.snapGrid[s];l-u>(a.snapGrid[s+1]-u)*r&&(i+=a.params.slidesPerGroup)}else{var c=a.snapGrid[s-1];l-c<=(a.snapGrid[s]-c)*r&&(i-=a.params.slidesPerGroup)}return i=Math.max(i,0),i=Math.min(i,a.slidesGrid.length-1),a.slideTo(i,e,t,n)},slideToClickedSlide:function(){var e,t=this,n=t.params,r=t.slidesEl,a="auto"===n.slidesPerView?t.slidesPerViewDynamic():n.slidesPerView,i=t.clickedIndex,o=t.isElement?"swiper-slide":".".concat(n.slideClass);if(n.loop){if(t.animating)return;e=parseInt(t.clickedSlide.getAttribute("data-swiper-slide-index"),10),n.centeredSlides?i<t.loopedSlides-a/2||i>t.slides.length-t.loopedSlides+a/2?(t.loopFix(),i=t.getSlideIndex(yc(r,"".concat(o,'[data-swiper-slide-index="').concat(e,'"]'))[0]),cc((function(){t.slideTo(i)}))):t.slideTo(i):i>t.slides.length-a?(t.loopFix(),i=t.getSlideIndex(yc(r,"".concat(o,'[data-swiper-slide-index="').concat(e,'"]'))[0]),cc((function(){t.slideTo(i)}))):t.slideTo(i)}else t.slideTo(i)}};var Ic={loopCreate:function(e){var t=this,n=t.params,r=t.slidesEl;!n.loop||t.virtual&&t.params.virtual.enabled||(yc(r,".".concat(n.slideClass,", swiper-slide")).forEach((function(e,t){e.setAttribute("data-swiper-slide-index",t)})),t.loopFix({slideRealIndex:e,direction:n.centeredSlides?void 0:"next"}))},loopFix:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.slideRealIndex,n=e.slideTo,r=void 0===n||n,a=e.direction,i=e.setTranslate,o=e.activeSlideIndex,s=e.byController,l=e.byMousewheel,u=this;if(u.params.loop){u.emit("beforeLoopFix");var c=u.slides,d=u.allowSlidePrev,f=u.allowSlideNext,p=u.slidesEl,h=u.params;if(u.allowSlidePrev=!0,u.allowSlideNext=!0,u.virtual&&h.virtual.enabled)return r&&(h.centeredSlides||0!==u.snapIndex?h.centeredSlides&&u.snapIndex<h.slidesPerView?u.slideTo(u.virtual.slides.length+u.snapIndex,0,!1,!0):u.snapIndex===u.snapGrid.length-1&&u.slideTo(u.virtual.slidesBefore,0,!1,!0):u.slideTo(u.virtual.slides.length,0,!1,!0)),u.allowSlidePrev=d,u.allowSlideNext=f,void u.emit("loopFix");var m="auto"===h.slidesPerView?u.slidesPerViewDynamic():Math.ceil(parseFloat(h.slidesPerView,10)),v=h.loopedSlides||m;v%h.slidesPerGroup!==0&&(v+=h.slidesPerGroup-v%h.slidesPerGroup),u.loopedSlides=v;var g=[],y=[],b=u.activeIndex;"undefined"===typeof o?o=u.getSlideIndex(u.slides.filter((function(e){return e.classList.contains("swiper-slide-active")}))[0]):b=o;var w="next"===a||!a,x="prev"===a||!a,S=0,_=0;if(o<v){S=Math.max(v-o,h.slidesPerGroup);for(var k=0;k<v-o;k+=1){var E=k-Math.floor(k/c.length)*c.length;g.push(c.length-E-1)}}else if(o>u.slides.length-2*v){_=Math.max(o-(u.slides.length-2*v),h.slidesPerGroup);for(var T=0;T<_;T+=1){var C=T-Math.floor(T/c.length)*c.length;y.push(C)}}if(x&&g.forEach((function(e){p.prepend(u.slides[e])})),w&&y.forEach((function(e){p.append(u.slides[e])})),u.recalcSlides(),h.watchSlidesProgress&&u.updateSlidesOffset(),r)if(g.length>0&&x)if("undefined"===typeof t){var O=u.slidesGrid[b],j=u.slidesGrid[b+S]-O;l?u.setTranslate(u.translate-j):(u.slideTo(b+S,0,!1,!0),i&&(u.touches[u.isHorizontal()?"startX":"startY"]+=j))}else i&&u.slideToLoop(t,0,!1,!0);else if(y.length>0&&w)if("undefined"===typeof t){var N=u.slidesGrid[b],P=u.slidesGrid[b-_]-N;l?u.setTranslate(u.translate-P):(u.slideTo(b-_,0,!1,!0),i&&(u.touches[u.isHorizontal()?"startX":"startY"]+=P))}else u.slideToLoop(t,0,!1,!0);if(u.allowSlidePrev=d,u.allowSlideNext=f,u.controller&&u.controller.control&&!s){var L={slideRealIndex:t,slideTo:!1,direction:a,setTranslate:i,activeSlideIndex:o,byController:!0};Array.isArray(u.controller.control)?u.controller.control.forEach((function(e){e.params.loop&&e.loopFix(L)})):u.controller.control instanceof u.constructor&&u.controller.control.params.loop&&u.controller.control.loopFix(L)}u.emit("loopFix")}},loopDestroy:function(){var e=this,t=e.slides,n=e.params,r=e.slidesEl;if(!(!n.loop||e.virtual&&e.params.virtual.enabled)){e.recalcSlides();var a=[];t.forEach((function(e){var t="undefined"===typeof e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;a[t]=e})),t.forEach((function(e){e.removeAttribute("data-swiper-slide-index")})),a.forEach((function(e){r.append(e)})),e.recalcSlides(),e.slideTo(e.realIndex,0)}}};var Rc,Ac={setGrabCursor:function(e){var t=this;if(!(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)){var n="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),n.style.cursor="move",n.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame((function(){t.__preventObserver__=!1}))}},unsetGrabCursor:function(){var e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame((function(){e.__preventObserver__=!1})))}};function Dc(e){var t=this,n=ac(),r=uc(),a=t.touchEventsData;a.evCache.push(e);var i=t.params,o=t.touches;if(t.enabled&&(i.simulateTouch||"mouse"!==e.pointerType)&&(!t.animating||!i.preventInteractionOnTransition)){!t.animating&&i.cssMode&&i.loop&&t.loopFix();var s=e;s.originalEvent&&(s=s.originalEvent);var l=s.target;if(("wrapper"!==i.touchEventsTarget||t.wrapperEl.contains(l))&&(!("which"in s)||3!==s.which)&&!("button"in s&&s.button>0)&&(!a.isTouched||!a.isMoved)){var u=!!i.noSwipingClass&&""!==i.noSwipingClass,c=e.composedPath?e.composedPath():e.path;u&&s.target&&s.target.shadowRoot&&c&&(l=c[0]);var d=i.noSwipingSelector?i.noSwipingSelector:".".concat(i.noSwipingClass),f=!(!s.target||!s.target.shadowRoot);if(i.noSwiping&&(f?function(e){return function t(n){if(!n||n===ac()||n===uc())return null;n.assignedSlot&&(n=n.assignedSlot);var r=n.closest(e);return r||n.getRootNode?r||t(n.getRootNode().host):null}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:this)}(d,l):l.closest(d)))t.allowClick=!0;else if(!i.swipeHandler||l.closest(i.swipeHandler)){o.currentX=s.pageX,o.currentY=s.pageY;var p=o.currentX,h=o.currentY,m=i.edgeSwipeDetection||i.iOSEdgeSwipeDetection,v=i.edgeSwipeThreshold||i.iOSEdgeSwipeThreshold;if(m&&(p<=v||p>=r.innerWidth-v)){if("prevent"!==m)return;e.preventDefault()}Object.assign(a,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=p,o.startY=h,a.touchStartTime=dc(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,i.threshold>0&&(a.allowThresholdMove=!1);var g=!0;l.matches(a.focusableElements)&&(g=!1,"SELECT"===l.nodeName&&(a.isTouched=!1)),n.activeElement&&n.activeElement.matches(a.focusableElements)&&n.activeElement!==l&&n.activeElement.blur();var y=g&&t.allowTouchMove&&i.touchStartPreventDefault;!i.touchStartForcePreventDefault&&!y||l.isContentEditable||s.preventDefault(),t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!i.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",s)}}}}function zc(e){var t=ac(),n=this,r=n.touchEventsData,a=n.params,i=n.touches,o=n.rtlTranslate;if(n.enabled&&(a.simulateTouch||"mouse"!==e.pointerType)){var s=e;if(s.originalEvent&&(s=s.originalEvent),r.isTouched){var l=r.evCache.findIndex((function(e){return e.pointerId===s.pointerId}));l>=0&&(r.evCache[l]=s);var u=r.evCache.length>1?r.evCache[0]:s,c=u.pageX,d=u.pageY;if(s.preventedByNestedSwiper)return i.startX=c,void(i.startY=d);if(!n.allowTouchMove)return s.target.matches(r.focusableElements)||(n.allowClick=!1),void(r.isTouched&&(Object.assign(i,{startX:c,startY:d,prevX:n.touches.currentX,prevY:n.touches.currentY,currentX:c,currentY:d}),r.touchStartTime=dc()));if(a.touchReleaseOnEdges&&!a.loop)if(n.isVertical()){if(d<i.startY&&n.translate<=n.maxTranslate()||d>i.startY&&n.translate>=n.minTranslate())return r.isTouched=!1,void(r.isMoved=!1)}else if(c<i.startX&&n.translate<=n.maxTranslate()||c>i.startX&&n.translate>=n.minTranslate())return;if(t.activeElement&&s.target===t.activeElement&&s.target.matches(r.focusableElements))return r.isMoved=!0,void(n.allowClick=!1);if(r.allowTouchCallbacks&&n.emit("touchMove",s),!(s.targetTouches&&s.targetTouches.length>1)){i.currentX=c,i.currentY=d;var f=i.currentX-i.startX,p=i.currentY-i.startY;if(!(n.params.threshold&&Math.sqrt(Math.pow(f,2)+Math.pow(p,2))<n.params.threshold)){var h;if("undefined"===typeof r.isScrolling)n.isHorizontal()&&i.currentY===i.startY||n.isVertical()&&i.currentX===i.startX?r.isScrolling=!1:f*f+p*p>=25&&(h=180*Math.atan2(Math.abs(p),Math.abs(f))/Math.PI,r.isScrolling=n.isHorizontal()?h>a.touchAngle:90-h>a.touchAngle);if(r.isScrolling&&n.emit("touchMoveOpposite",s),"undefined"===typeof r.startMoving&&(i.currentX===i.startX&&i.currentY===i.startY||(r.startMoving=!0)),r.isScrolling||n.zoom&&n.params.zoom&&n.params.zoom.enabled&&r.evCache.length>1)r.isTouched=!1;else if(r.startMoving){n.allowClick=!1,!a.cssMode&&s.cancelable&&s.preventDefault(),a.touchMoveStopPropagation&&!a.nested&&s.stopPropagation();var m=n.isHorizontal()?f:p,v=n.isHorizontal()?i.currentX-i.previousX:i.currentY-i.previousY;a.oneWayMovement&&(m=Math.abs(m)*(o?1:-1),v=Math.abs(v)*(o?1:-1)),i.diff=m,m*=a.touchRatio,o&&(m=-m,v=-v);var g=n.touchesDirection;n.swipeDirection=m>0?"prev":"next",n.touchesDirection=v>0?"prev":"next";var y,b=n.params.loop&&!a.cssMode;if(!r.isMoved){if(b&&n.loopFix({direction:n.swipeDirection}),r.startTranslate=n.getTranslate(),n.setTransition(0),n.animating){var w=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});n.wrapperEl.dispatchEvent(w)}r.allowMomentumBounce=!1,!a.grabCursor||!0!==n.allowSlideNext&&!0!==n.allowSlidePrev||n.setGrabCursor(!0),n.emit("sliderFirstMove",s)}r.isMoved&&g!==n.touchesDirection&&b&&Math.abs(m)>=1&&(n.loopFix({direction:n.swipeDirection,setTranslate:!0}),y=!0),n.emit("sliderMove",s),r.isMoved=!0,r.currentTranslate=m+r.startTranslate;var x=!0,S=a.resistanceRatio;if(a.touchReleaseOnEdges&&(S=0),m>0?(b&&!y&&r.currentTranslate>(a.centeredSlides?n.minTranslate()-n.size/2:n.minTranslate())&&n.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),r.currentTranslate>n.minTranslate()&&(x=!1,a.resistance&&(r.currentTranslate=n.minTranslate()-1+Math.pow(-n.minTranslate()+r.startTranslate+m,S)))):m<0&&(b&&!y&&r.currentTranslate<(a.centeredSlides?n.maxTranslate()+n.size/2:n.maxTranslate())&&n.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:n.slides.length-("auto"===a.slidesPerView?n.slidesPerViewDynamic():Math.ceil(parseFloat(a.slidesPerView,10)))}),r.currentTranslate<n.maxTranslate()&&(x=!1,a.resistance&&(r.currentTranslate=n.maxTranslate()+1-Math.pow(n.maxTranslate()-r.startTranslate-m,S)))),x&&(s.preventedByNestedSwiper=!0),!n.allowSlideNext&&"next"===n.swipeDirection&&r.currentTranslate<r.startTranslate&&(r.currentTranslate=r.startTranslate),!n.allowSlidePrev&&"prev"===n.swipeDirection&&r.currentTranslate>r.startTranslate&&(r.currentTranslate=r.startTranslate),n.allowSlidePrev||n.allowSlideNext||(r.currentTranslate=r.startTranslate),a.threshold>0){if(!(Math.abs(m)>a.threshold||r.allowThresholdMove))return void(r.currentTranslate=r.startTranslate);if(!r.allowThresholdMove)return r.allowThresholdMove=!0,i.startX=i.currentX,i.startY=i.currentY,r.currentTranslate=r.startTranslate,void(i.diff=n.isHorizontal()?i.currentX-i.startX:i.currentY-i.startY)}a.followFinger&&!a.cssMode&&((a.freeMode&&a.freeMode.enabled&&n.freeMode||a.watchSlidesProgress)&&(n.updateActiveIndex(),n.updateSlidesClasses()),n.params.freeMode&&a.freeMode.enabled&&n.freeMode&&n.freeMode.onTouchMove(),n.updateProgress(r.currentTranslate),n.setTranslate(r.currentTranslate))}}}}else r.startMoving&&r.isScrolling&&n.emit("touchMoveOpposite",s)}}function Fc(e){var t=this,n=t.touchEventsData,r=n.evCache.findIndex((function(t){return t.pointerId===e.pointerId}));if((r>=0&&n.evCache.splice(r,1),["pointercancel","pointerout","pointerleave"].includes(e.type))&&!("pointercancel"===e.type&&(t.browser.isSafari||t.browser.isWebView)))return;var a=t.params,i=t.touches,o=t.rtlTranslate,s=t.slidesGrid;if(t.enabled&&(a.simulateTouch||"mouse"!==e.pointerType)){var l=e;if(l.originalEvent&&(l=l.originalEvent),n.allowTouchCallbacks&&t.emit("touchEnd",l),n.allowTouchCallbacks=!1,!n.isTouched)return n.isMoved&&a.grabCursor&&t.setGrabCursor(!1),n.isMoved=!1,void(n.startMoving=!1);a.grabCursor&&n.isMoved&&n.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var u,c=dc(),d=c-n.touchStartTime;if(t.allowClick){var f=l.path||l.composedPath&&l.composedPath();t.updateClickedSlide(f&&f[0]||l.target),t.emit("tap click",l),d<300&&c-n.lastClickTime<300&&t.emit("doubleTap doubleClick",l)}if(n.lastClickTime=dc(),cc((function(){t.destroyed||(t.allowClick=!0)})),!n.isTouched||!n.isMoved||!t.swipeDirection||0===i.diff||n.currentTranslate===n.startTranslate)return n.isTouched=!1,n.isMoved=!1,void(n.startMoving=!1);if(n.isTouched=!1,n.isMoved=!1,n.startMoving=!1,u=a.followFinger?o?t.translate:-t.translate:-n.currentTranslate,!a.cssMode)if(t.params.freeMode&&a.freeMode.enabled)t.freeMode.onTouchEnd({currentPos:u});else{for(var p=0,h=t.slidesSizesGrid[0],m=0;m<s.length;m+=m<a.slidesPerGroupSkip?1:a.slidesPerGroup){var v=m<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;"undefined"!==typeof s[m+v]?u>=s[m]&&u<s[m+v]&&(p=m,h=s[m+v]-s[m]):u>=s[m]&&(p=m,h=s[s.length-1]-s[s.length-2])}var g=null,y=null;a.rewind&&(t.isBeginning?y=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));var b=(u-s[p])/h,w=p<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;if(d>a.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(b>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:p+w):t.slideTo(p)),"prev"===t.swipeDirection&&(b>1-a.longSwipesRatio?t.slideTo(p+w):null!==y&&b<0&&Math.abs(b)>a.longSwipesRatio?t.slideTo(y):t.slideTo(p))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(l.target===t.navigation.nextEl||l.target===t.navigation.prevEl)?l.target===t.navigation.nextEl?t.slideTo(p+w):t.slideTo(p):("next"===t.swipeDirection&&t.slideTo(null!==g?g:p+w),"prev"===t.swipeDirection&&t.slideTo(null!==y?y:p))}}}}function Bc(){var e=this,t=e.params,n=e.el;if(!n||0!==n.offsetWidth){t.breakpoints&&e.setBreakpoint();var r=e.allowSlideNext,a=e.allowSlidePrev,i=e.snapGrid,o=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();var s=o&&t.loop;!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||s?e.params.loop&&!o?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0):e.slideTo(e.slides.length-1,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(Rc),Rc=setTimeout((function(){e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()}),500)),e.allowSlidePrev=a,e.allowSlideNext=r,e.params.watchOverflow&&i!==e.snapGrid&&e.checkOverflow()}}function Vc(e){var t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function Uc(){var e=this,t=e.wrapperEl,n=e.rtlTranslate;if(e.enabled){e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();var r=e.maxTranslate()-e.minTranslate();(0===r?0:(e.translate-e.minTranslate())/r)!==e.progress&&e.updateProgress(n?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}}var Hc=function(e,t){if(e&&!e.destroyed&&e.params){var n=t.closest(e.isElement?"swiper-slide":".".concat(e.params.slideClass));if(n){var r=n.querySelector(".".concat(e.params.lazyPreloaderClass));r&&r.remove()}}};function Wc(e){Hc(this,e.target),this.update()}var Gc=!1;function $c(){}var qc=function(e,t){var n=ac(),r=e.params,a=e.el,i=e.wrapperEl,o=e.device,s=!!r.nested,l="on"===t?"addEventListener":"removeEventListener",u=t;a[l]("pointerdown",e.onTouchStart,{passive:!1}),n[l]("pointermove",e.onTouchMove,{passive:!1,capture:s}),n[l]("pointerup",e.onTouchEnd,{passive:!0}),n[l]("pointercancel",e.onTouchEnd,{passive:!0}),n[l]("pointerout",e.onTouchEnd,{passive:!0}),n[l]("pointerleave",e.onTouchEnd,{passive:!0}),(r.preventClicks||r.preventClicksPropagation)&&a[l]("click",e.onClick,!0),r.cssMode&&i[l]("scroll",e.onScroll),r.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",Bc,!0):e[u]("observerUpdate",Bc,!0),a[l]("load",e.onLoad,{capture:!0})};var Kc={attachEvents:function(){var e=this,t=ac(),n=e.params;e.onTouchStart=Dc.bind(e),e.onTouchMove=zc.bind(e),e.onTouchEnd=Fc.bind(e),n.cssMode&&(e.onScroll=Uc.bind(e)),e.onClick=Vc.bind(e),e.onLoad=Wc.bind(e),Gc||(t.addEventListener("touchstart",$c),Gc=!0),qc(e,"on")},detachEvents:function(){qc(this,"off")}},Yc=function(e,t){return e.grid&&t.grid&&t.grid.rows>1};var Xc={setBreakpoint:function(){var e=this,t=e.realIndex,n=e.initialized,r=e.params,a=e.el,i=r.breakpoints;if(i&&(!i||0!==Object.keys(i).length)){var o=e.getBreakpoint(i,e.params.breakpointsBase,e.el);if(o&&e.currentBreakpoint!==o){var s=(o in i?i[o]:void 0)||e.originalParams,l=Yc(e,r),u=Yc(e,s),c=r.enabled;l&&!u?(a.classList.remove("".concat(r.containerModifierClass,"grid"),"".concat(r.containerModifierClass,"grid-column")),e.emitContainerClasses()):!l&&u&&(a.classList.add("".concat(r.containerModifierClass,"grid")),(s.grid.fill&&"column"===s.grid.fill||!s.grid.fill&&"column"===r.grid.fill)&&a.classList.add("".concat(r.containerModifierClass,"grid-column")),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((function(t){var n=r[t]&&r[t].enabled,a=s[t]&&s[t].enabled;n&&!a&&e[t].disable(),!n&&a&&e[t].enable()}));var d=s.direction&&s.direction!==r.direction,f=r.loop&&(s.slidesPerView!==r.slidesPerView||d);d&&n&&e.changeDirection(),mc(e.params,s);var p=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),c&&!p?e.disable():!c&&p&&e.enable(),e.currentBreakpoint=o,e.emit("_beforeBreakpoint",s),f&&n&&(e.loopDestroy(),e.loopCreate(t),e.updateSlides()),e.emit("breakpoint",s)}}},getBreakpoint:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"window",n=arguments.length>2?arguments[2]:void 0;if(e&&("container"!==t||n)){var r=!1,a=uc(),i="window"===t?a.innerHeight:n.clientHeight,o=Object.keys(e).map((function(e){if("string"===typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:i*t,point:e}}return{value:e,point:e}}));o.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s<o.length;s+=1){var l=o[s],u=l.point,c=l.value;"window"===t?a.matchMedia("(min-width: ".concat(c,"px)")).matches&&(r=u):c<=n.clientWidth&&(r=u)}return r||"max"}}};var Qc={addClasses:function(){var e,t=this,n=t.classNames,r=t.params,a=t.rtl,i=t.el,o=t.device,s=function(e,t){var n=[];return e.forEach((function(e){"object"===typeof e?Object.keys(e).forEach((function(r){e[r]&&n.push(t+r)})):"string"===typeof e&&n.push(t+e)})),n}(["initialized",r.direction,{"free-mode":t.params.freeMode&&r.freeMode.enabled},{autoheight:r.autoHeight},{rtl:a},{grid:r.grid&&r.grid.rows>1},{"grid-column":r.grid&&r.grid.rows>1&&"column"===r.grid.fill},{android:o.android},{ios:o.ios},{"css-mode":r.cssMode},{centered:r.cssMode&&r.centeredSlides},{"watch-progress":r.watchSlidesProgress}],r.containerModifierClass);n.push.apply(n,d(s)),(e=i.classList).add.apply(e,d(n)),t.emitContainerClasses()},removeClasses:function(){var e,t=this,n=t.el,r=t.classNames;(e=n.classList).remove.apply(e,d(r)),t.emitContainerClasses()}};var Jc={checkOverflow:function(){var e=this,t=e.isLocked,n=e.params,r=n.slidesOffsetBefore;if(r){var a=e.slides.length-1,i=e.slidesGrid[a]+e.slidesSizesGrid[a]+2*r;e.isLocked=e.size>i}else e.isLocked=1===e.snapGrid.length;!0===n.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===n.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},Zc={init:!0,direction:"horizontal",oneWayMovement:!1,touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopedSlides:null,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",runCallbacksOnInit:!0,_emitClasses:!1};function ed(e,t){return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=Object.keys(n)[0],a=n[r];"object"===typeof a&&null!==a?(["navigation","pagination","scrollbar"].indexOf(r)>=0&&!0===e[r]&&(e[r]={auto:!0}),r in e&&"enabled"in a?(!0===e[r]&&(e[r]={enabled:!0}),"object"!==typeof e[r]||"enabled"in e[r]||(e[r].enabled=!0),e[r]||(e[r]={enabled:!1}),mc(t,n)):mc(t,n)):mc(t,n)}}var td={eventsEmitter:Oc,update:jc,translate:Nc,transition:Lc,slide:Mc,loop:Ic,grabCursor:Ac,events:Kc,breakpoints:Xc,checkOverflow:Jc,classes:Qc},nd={},rd=function(){function e(){var t,n;f(this,e);for(var r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?n=a[0]:(t=a[0],n=a[1]),n||(n={}),n=mc({},n),t&&!n.el&&(n.el=t);var o=ac();if(n.el&&"string"===typeof n.el&&o.querySelectorAll(n.el).length>1){var s=[];return o.querySelectorAll(n.el).forEach((function(t){var r=mc({},n,{el:t});s.push(new e(r))})),s}var l,u=this;(u.__swiper__=!0,u.support=Ec(),u.device=Tc({userAgent:n.userAgent}),u.browser=Cc(),u.eventsListeners={},u.eventsAnyListeners=[],u.modules=d(u.__modules__),n.modules&&Array.isArray(n.modules))&&(l=u.modules).push.apply(l,d(n.modules));var c={};u.modules.forEach((function(e){e({params:n,swiper:u,extendParams:ed(n,c),on:u.on.bind(u),once:u.once.bind(u),off:u.off.bind(u),emit:u.emit.bind(u)})}));var p=mc({},Zc,c);return u.params=mc({},p,nd,n),u.originalParams=mc({},u.params),u.passedParams=mc({},n),u.params&&u.params.on&&Object.keys(u.params.on).forEach((function(e){u.on(e,u.params.on[e])})),u.params&&u.params.onAny&&u.onAny(u.params.onAny),Object.assign(u,{enabled:u.params.enabled,el:t,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===u.params.direction},isVertical:function(){return"vertical"===u.params.direction},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:u.params.allowSlideNext,allowSlidePrev:u.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:u.params.focusableElements,lastClickTime:dc(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,evCache:[]},allowClick:!0,allowTouchMove:u.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),u.emit("_swiper"),u.params.init&&u.init(),u}return v(e,[{key:"getSlideIndex",value:function(e){var t=this.slidesEl,n=this.params,r=xc(yc(t,".".concat(n.slideClass,", swiper-slide"))[0]);return xc(e)-r}},{key:"recalcSlides",value:function(){var e=this,t=e.slidesEl,n=e.params;e.slides=yc(t,".".concat(n.slideClass,", swiper-slide"))}},{key:"enable",value:function(){var e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}},{key:"disable",value:function(){var e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}},{key:"setProgress",value:function(e,t){var n=this;e=Math.min(Math.max(e,0),1);var r=n.minTranslate(),a=(n.maxTranslate()-r)*e+r;n.translateTo(a,"undefined"===typeof t?0:t),n.updateActiveIndex(),n.updateSlidesClasses()}},{key:"emitContainerClasses",value:function(){var e=this;if(e.params._emitClasses&&e.el){var t=e.el.className.split(" ").filter((function(t){return 0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)}));e.emit("_containerClasses",t.join(" "))}}},{key:"getSlideClasses",value:function(e){var t=this;return t.destroyed?"":e.className.split(" ").filter((function(e){return 0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)})).join(" ")}},{key:"emitSlidesClasses",value:function(){var e=this;if(e.params._emitClasses&&e.el){var t=[];e.slides.forEach((function(n){var r=e.getSlideClasses(n);t.push({slideEl:n,classNames:r}),e.emit("_slideClass",n,r)})),e.emit("_slideClasses",t)}}},{key:"slidesPerViewDynamic",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"current",t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this,r=n.params,a=n.slides,i=n.slidesGrid,o=n.slidesSizesGrid,s=n.size,l=n.activeIndex,u=1;if(r.centeredSlides){for(var c,d=a[l].swiperSlideSize,f=l+1;f<a.length;f+=1)a[f]&&!c&&(u+=1,(d+=a[f].swiperSlideSize)>s&&(c=!0));for(var p=l-1;p>=0;p-=1)a[p]&&!c&&(u+=1,(d+=a[p].swiperSlideSize)>s&&(c=!0))}else if("current"===e)for(var h=l+1;h<a.length;h+=1){(t?i[h]+o[h]-i[l]<s:i[h]-i[l]<s)&&(u+=1)}else for(var m=l-1;m>=0;m-=1){i[l]-i[m]<s&&(u+=1)}return u}},{key:"update",value:function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,n=e.params;n.breakpoints&&e.setBreakpoint(),d(e.el.querySelectorAll('[loading="lazy"]')).forEach((function(t){t.complete&&Hc(e,t)})),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode&&e.params.freeMode.enabled?(r(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||r(),n.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function r(){var t=e.rtlTranslate?-1*e.translate:e.translate,n=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(n),e.updateActiveIndex(),e.updateSlidesClasses()}}},{key:"changeDirection",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=n.params.direction;return e||(e="horizontal"===r?"vertical":"horizontal"),e===r||"horizontal"!==e&&"vertical"!==e||(n.el.classList.remove("".concat(n.params.containerModifierClass).concat(r)),n.el.classList.add("".concat(n.params.containerModifierClass).concat(e)),n.emitContainerClasses(),n.params.direction=e,n.slides.forEach((function(t){"vertical"===e?t.style.width="":t.style.height=""})),n.emit("changeDirection"),t&&n.update()),n}},{key:"changeLanguageDirection",value:function(e){var t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add("".concat(t.params.containerModifierClass,"rtl")),t.el.dir="rtl"):(t.el.classList.remove("".concat(t.params.containerModifierClass,"rtl")),t.el.dir="ltr"),t.update())}},{key:"mount",value:function(e){var t=this;if(t.mounted)return!0;var n=e||t.params.el;if("string"===typeof n&&(n=document.querySelector(n)),!n)return!1;n.swiper=t,n.shadowEl&&(t.isElement=!0);var r=function(){return".".concat((t.params.wrapperClass||"").trim().split(" ").join("."))},a=n&&n.shadowRoot&&n.shadowRoot.querySelector?n.shadowRoot.querySelector(r()):yc(n,r())[0];return!a&&t.params.createElements&&(a=bc("div",t.params.wrapperClass),n.append(a),yc(n,".".concat(t.params.slideClass)).forEach((function(e){a.append(e)}))),Object.assign(t,{el:n,wrapperEl:a,slidesEl:t.isElement?n:a,mounted:!0,rtl:"rtl"===n.dir.toLowerCase()||"rtl"===wc(n,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===n.dir.toLowerCase()||"rtl"===wc(n,"direction")),wrongRTL:"-webkit-box"===wc(a,"display")}),!0}},{key:"init",value:function(e){var t=this;return t.initialized||!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(),t.attachEvents(),d(t.el.querySelectorAll('[loading="lazy"]')).forEach((function(e){e.complete?Hc(t,e):e.addEventListener("load",(function(e){Hc(t,e.target)}))})),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}},{key:"destroy",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=n.params,a=n.el,i=n.wrapperEl,o=n.slides;return"undefined"===typeof n.params||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),r.loop&&n.loopDestroy(),t&&(n.removeClasses(),a.removeAttribute("style"),i.removeAttribute("style"),o&&o.length&&o.forEach((function(e){e.classList.remove(r.slideVisibleClass,r.slideActiveClass,r.slideNextClass,r.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")}))),n.emit("destroy"),Object.keys(n.eventsListeners).forEach((function(e){n.off(e)})),!1!==e&&(n.el.swiper=null,function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(n){}try{delete t[e]}catch(n){}}))}(n)),n.destroyed=!0),null}}],[{key:"extendDefaults",value:function(e){mc(nd,e)}},{key:"extendedDefaults",get:function(){return nd}},{key:"defaults",get:function(){return Zc}},{key:"installModule",value:function(t){e.prototype.__modules__||(e.prototype.__modules__=[]);var n=e.prototype.__modules__;"function"===typeof t&&n.indexOf(t)<0&&n.push(t)}},{key:"use",value:function(t){return Array.isArray(t)?(t.forEach((function(t){return e.installModule(t)})),e):(e.installModule(t),e)}}]),e}();Object.keys(td).forEach((function(e){Object.keys(td[e]).forEach((function(t){rd.prototype[t]=td[e][t]}))})),rd.use([function(e){var t=e.swiper,n=e.on,r=e.emit,a=uc(),i=null,o=null,s=function(){t&&!t.destroyed&&t.initialized&&(r("beforeResize"),r("resize"))},l=function(){t&&!t.destroyed&&t.initialized&&r("orientationchange")};n("init",(function(){t.params.resizeObserver&&"undefined"!==typeof a.ResizeObserver?t&&!t.destroyed&&t.initialized&&(i=new ResizeObserver((function(e){o=a.requestAnimationFrame((function(){var n=t.width,r=t.height,a=n,i=r;e.forEach((function(e){var n=e.contentBoxSize,r=e.contentRect,o=e.target;o&&o!==t.el||(a=r?r.width:(n[0]||n).inlineSize,i=r?r.height:(n[0]||n).blockSize)})),a===n&&i===r||s()}))})),i.observe(t.el)):(a.addEventListener("resize",s),a.addEventListener("orientationchange",l))})),n("destroy",(function(){o&&a.cancelAnimationFrame(o),i&&i.unobserve&&t.el&&(i.unobserve(t.el),i=null),a.removeEventListener("resize",s),a.removeEventListener("orientationchange",l)}))},function(e){var t=e.swiper,n=e.extendParams,r=e.on,a=e.emit,i=[],o=uc(),s=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=new(o.MutationObserver||o.WebkitMutationObserver)((function(e){if(!t.__preventObserver__)if(1!==e.length){var n=function(){a("observerUpdate",e[0])};o.requestAnimationFrame?o.requestAnimationFrame(n):o.setTimeout(n,0)}else a("observerUpdate",e[0])}));r.observe(e,{attributes:"undefined"===typeof n.attributes||n.attributes,childList:"undefined"===typeof n.childList||n.childList,characterData:"undefined"===typeof n.characterData||n.characterData}),i.push(r)};n({observer:!1,observeParents:!1,observeSlideChildren:!1}),r("init",(function(){if(t.params.observer){if(t.params.observeParents)for(var e=Sc(t.el),n=0;n<e.length;n+=1)s(e[n]);s(t.el,{childList:t.params.observeSlideChildren}),s(t.wrapperEl,{attributes:!1})}})),r("destroy",(function(){i.forEach((function(e){e.disconnect()})),i.splice(0,i.length)}))}]);var ad=rd;function id(e,t,n,r){return e.params.createElements&&Object.keys(r).forEach((function(a){if(!n[a]&&!0===n.auto){var i=yc(e.el,".".concat(r[a]))[0];i||((i=bc("div",r[a])).className=r[a],e.el.append(i)),n[a]=i,t[a]=i}})),n}function od(e){var t=e.swiper,n=e.extendParams,r=e.on,a=e.emit;n({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,prevEl:null};var i=function(e){return Array.isArray(e)||(e=[e].filter((function(e){return!!e}))),e};function o(e){var n;return e&&"string"===typeof e&&t.isElement&&(n=t.el.shadowRoot.querySelector(e))?n:(e&&("string"===typeof e&&(n=d(document.querySelectorAll(e))),t.params.uniqueNavElements&&"string"===typeof e&&n.length>1&&1===t.el.querySelectorAll(e).length&&(n=t.el.querySelector(e))),e&&!n?e:n)}function s(e,n){var r=t.params.navigation;(e=i(e)).forEach((function(e){var a;e&&((a=e.classList)[n?"add":"remove"].apply(a,d(r.disabledClass.split(" "))),"BUTTON"===e.tagName&&(e.disabled=n),t.params.watchOverflow&&t.enabled&&e.classList[t.isLocked?"add":"remove"](r.lockClass))}))}function l(){var e=t.navigation,n=e.nextEl,r=e.prevEl;if(t.params.loop)return s(r,!1),void s(n,!1);s(r,t.isBeginning&&!t.params.rewind),s(n,t.isEnd&&!t.params.rewind)}function u(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),a("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),a("navigationNext"))}function f(){var e=t.params.navigation;if(t.params.navigation=id(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),e.nextEl||e.prevEl){var n=o(e.nextEl),r=o(e.prevEl);Object.assign(t.navigation,{nextEl:n,prevEl:r}),n=i(n),r=i(r);var a=function(n,r){var a;(n&&n.addEventListener("click","next"===r?c:u),!t.enabled&&n)&&(a=n.classList).add.apply(a,d(e.lockClass.split(" ")))};n.forEach((function(e){return a(e,"next")})),r.forEach((function(e){return a(e,"prev")}))}}function p(){var e=t.navigation,n=e.nextEl,r=e.prevEl;n=i(n),r=i(r);var a=function(e,n){var r;e.removeEventListener("click","next"===n?c:u),(r=e.classList).remove.apply(r,d(t.params.navigation.disabledClass.split(" ")))};n.forEach((function(e){return a(e,"next")})),r.forEach((function(e){return a(e,"prev")}))}r("init",(function(){!1===t.params.navigation.enabled?h():(f(),l())})),r("toEdge fromEdge lock unlock",(function(){l()})),r("destroy",(function(){p()})),r("enable disable",(function(){var e=t.navigation,n=e.nextEl,r=e.prevEl;n=i(n),r=i(r),[].concat(d(n),d(r)).filter((function(e){return!!e})).forEach((function(e){return e.classList[t.enabled?"remove":"add"](t.params.navigation.lockClass)}))})),r("click",(function(e,n){var r=t.navigation,o=r.nextEl,s=r.prevEl;o=i(o),s=i(s);var l=n.target;if(t.params.navigation.hideOnClick&&!s.includes(l)&&!o.includes(l)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===l||t.pagination.el.contains(l)))return;var u;o.length?u=o[0].classList.contains(t.params.navigation.hiddenClass):s.length&&(u=s[0].classList.contains(t.params.navigation.hiddenClass)),a(!0===u?"navigationShow":"navigationHide"),[].concat(d(o),d(s)).filter((function(e){return!!e})).forEach((function(e){return e.classList.toggle(t.params.navigation.hiddenClass)}))}}));var h=function(){var e;(e=t.el.classList).add.apply(e,d(t.params.navigation.navigationDisabledClass.split(" "))),p()};Object.assign(t.navigation,{enable:function(){var e;(e=t.el.classList).remove.apply(e,d(t.params.navigation.navigationDisabledClass.split(" "))),f(),l()},disable:h,update:l,init:f,destroy:p})}function sd(){return".".concat((arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,"."))}function ld(e){var t,n=e.swiper,r=e.extendParams,a=e.on,i=e.emit,o="swiper-pagination";r({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"".concat(o,"-bullet"),bulletActiveClass:"".concat(o,"-bullet-active"),modifierClass:"".concat(o,"-"),currentClass:"".concat(o,"-current"),totalClass:"".concat(o,"-total"),hiddenClass:"".concat(o,"-hidden"),progressbarFillClass:"".concat(o,"-progressbar-fill"),progressbarOppositeClass:"".concat(o,"-progressbar-opposite"),clickableClass:"".concat(o,"-clickable"),lockClass:"".concat(o,"-lock"),horizontalClass:"".concat(o,"-horizontal"),verticalClass:"".concat(o,"-vertical"),paginationDisabledClass:"".concat(o,"-disabled")}}),n.pagination={el:null,bullets:[]};var s=0,l=function(e){return Array.isArray(e)||(e=[e].filter((function(e){return!!e}))),e};function u(){return!n.params.pagination.el||!n.pagination.el||Array.isArray(n.pagination.el)&&0===n.pagination.el.length}function c(e,t){var r=n.params.pagination.bulletActiveClass;e&&(e=e["".concat("prev"===t?"previous":"next","ElementSibling")])&&(e.classList.add("".concat(r,"-").concat(t)),(e=e["".concat("prev"===t?"previous":"next","ElementSibling")])&&e.classList.add("".concat(r,"-").concat(t,"-").concat(t)))}function f(e){var t=e.target.closest(sd(n.params.pagination.bulletClass));if(t){e.preventDefault();var r=xc(t)*n.params.slidesPerGroup;if(n.params.loop){if(n.realIndex===r)return;(r<n.loopedSlides||r>n.slides.length-n.loopedSlides)&&n.loopFix({direction:r<n.loopedSlides?"prev":"next",activeSlideIndex:r,slideTo:!1}),n.slideToLoop(r)}else n.slideTo(r)}}function p(){var e=n.rtl,r=n.params.pagination;if(!u()){var a,o=n.pagination.el;o=l(o);var f=n.virtual&&n.params.virtual.enabled?n.virtual.slides.length:n.slides.length,p=n.params.loop?Math.ceil(f/n.params.slidesPerGroup):n.snapGrid.length;if(a=n.params.loop?n.params.slidesPerGroup>1?Math.floor(n.realIndex/n.params.slidesPerGroup):n.realIndex:"undefined"!==typeof n.snapIndex?n.snapIndex:n.activeIndex||0,"bullets"===r.type&&n.pagination.bullets&&n.pagination.bullets.length>0){var h,m,v,g=n.pagination.bullets;if(r.dynamicBullets&&(t=kc(g[0],n.isHorizontal()?"width":"height",!0),o.forEach((function(e){e.style[n.isHorizontal()?"width":"height"]="".concat(t*(r.dynamicMainBullets+4),"px")})),r.dynamicMainBullets>1&&void 0!==n.previousIndex&&((s+=a-(n.previousIndex||0))>r.dynamicMainBullets-1?s=r.dynamicMainBullets-1:s<0&&(s=0)),h=Math.max(a-s,0),v=((m=h+(Math.min(g.length,r.dynamicMainBullets)-1))+h)/2),g.forEach((function(e){var t;(t=e.classList).remove.apply(t,d(["","-next","-next-next","-prev","-prev-prev","-main"].map((function(e){return"".concat(r.bulletActiveClass).concat(e)}))))})),o.length>1)g.forEach((function(e){var t=xc(e);t===a&&e.classList.add(r.bulletActiveClass),r.dynamicBullets&&(t>=h&&t<=m&&e.classList.add("".concat(r.bulletActiveClass,"-main")),t===h&&c(e,"prev"),t===m&&c(e,"next"))}));else{var y=g[a];if(y&&y.classList.add(r.bulletActiveClass),r.dynamicBullets){for(var b=g[h],w=g[m],x=h;x<=m;x+=1)g[x]&&g[x].classList.add("".concat(r.bulletActiveClass,"-main"));c(b,"prev"),c(w,"next")}}if(r.dynamicBullets){var S=Math.min(g.length,r.dynamicMainBullets+4),_=(t*S-t)/2-v*t,k=e?"right":"left";g.forEach((function(e){e.style[n.isHorizontal()?k:"top"]="".concat(_,"px")}))}}o.forEach((function(e,t){if("fraction"===r.type&&(e.querySelectorAll(sd(r.currentClass)).forEach((function(e){e.textContent=r.formatFractionCurrent(a+1)})),e.querySelectorAll(sd(r.totalClass)).forEach((function(e){e.textContent=r.formatFractionTotal(p)}))),"progressbar"===r.type){var o;o=r.progressbarOpposite?n.isHorizontal()?"vertical":"horizontal":n.isHorizontal()?"horizontal":"vertical";var s=(a+1)/p,l=1,u=1;"horizontal"===o?l=s:u=s,e.querySelectorAll(sd(r.progressbarFillClass)).forEach((function(e){e.style.transform="translate3d(0,0,0) scaleX(".concat(l,") scaleY(").concat(u,")"),e.style.transitionDuration="".concat(n.params.speed,"ms")}))}"custom"===r.type&&r.renderCustom?(e.innerHTML=r.renderCustom(n,a+1,p),0===t&&i("paginationRender",e)):(0===t&&i("paginationRender",e),i("paginationUpdate",e)),n.params.watchOverflow&&n.enabled&&e.classList[n.isLocked?"add":"remove"](r.lockClass)}))}}function h(){var e=n.params.pagination;if(!u()){var t=n.virtual&&n.params.virtual.enabled?n.virtual.slides.length:n.slides.length,r=n.pagination.el;r=l(r);var a="";if("bullets"===e.type){var o=n.params.loop?Math.ceil(t/n.params.slidesPerGroup):n.snapGrid.length;n.params.freeMode&&n.params.freeMode.enabled&&o>t&&(o=t);for(var s=0;s<o;s+=1)e.renderBullet?a+=e.renderBullet.call(n,s,e.bulletClass):a+="<".concat(e.bulletElement,' class="').concat(e.bulletClass,'"></').concat(e.bulletElement,">")}"fraction"===e.type&&(a=e.renderFraction?e.renderFraction.call(n,e.currentClass,e.totalClass):'<span class="'.concat(e.currentClass,'"></span>')+" / "+'<span class="'.concat(e.totalClass,'"></span>')),"progressbar"===e.type&&(a=e.renderProgressbar?e.renderProgressbar.call(n,e.progressbarFillClass):'<span class="'.concat(e.progressbarFillClass,'"></span>')),r.forEach((function(t){"custom"!==e.type&&(t.innerHTML=a||""),"bullets"===e.type&&(n.pagination.bullets=d(t.querySelectorAll(sd(e.bulletClass))))})),"custom"!==e.type&&i("paginationRender",r[0])}}function m(){n.params.pagination=id(n,n.originalParams.pagination,n.params.pagination,{el:"swiper-pagination"});var e,t=n.params.pagination;t.el&&("string"===typeof t.el&&n.isElement&&(e=n.el.shadowRoot.querySelector(t.el)),e||"string"!==typeof t.el||(e=d(document.querySelectorAll(t.el))),e||(e=t.el),e&&0!==e.length&&(n.params.uniqueNavElements&&"string"===typeof t.el&&Array.isArray(e)&&e.length>1&&(e=d(n.el.querySelectorAll(t.el))).length>1&&(e=e.filter((function(e){return Sc(e,".swiper")[0]===n.el}))[0]),Array.isArray(e)&&1===e.length&&(e=e[0]),Object.assign(n.pagination,{el:e}),(e=l(e)).forEach((function(e){"bullets"===t.type&&t.clickable&&e.classList.add(t.clickableClass),e.classList.add(t.modifierClass+t.type),e.classList.add(n.isHorizontal()?t.horizontalClass:t.verticalClass),"bullets"===t.type&&t.dynamicBullets&&(e.classList.add("".concat(t.modifierClass).concat(t.type,"-dynamic")),s=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&e.classList.add(t.progressbarOppositeClass),t.clickable&&e.addEventListener("click",f),n.enabled||e.classList.add(t.lockClass)}))))}function v(){var e=n.params.pagination;if(!u()){var t=n.pagination.el;t&&(t=l(t)).forEach((function(t){t.classList.remove(e.hiddenClass),t.classList.remove(e.modifierClass+e.type),t.classList.remove(n.isHorizontal()?e.horizontalClass:e.verticalClass),e.clickable&&t.removeEventListener("click",f)})),n.pagination.bullets&&n.pagination.bullets.forEach((function(t){return t.classList.remove(e.bulletActiveClass)}))}}a("init",(function(){!1===n.params.pagination.enabled?g():(m(),h(),p())})),a("activeIndexChange",(function(){"undefined"===typeof n.snapIndex&&p()})),a("snapIndexChange",(function(){p()})),a("snapGridLengthChange",(function(){h(),p()})),a("destroy",(function(){v()})),a("enable disable",(function(){var e=n.pagination.el;e&&(e=l(e)).forEach((function(e){return e.classList[n.enabled?"remove":"add"](n.params.pagination.lockClass)}))})),a("lock unlock",(function(){p()})),a("click",(function(e,t){var r=t.target,a=n.pagination.el;if(Array.isArray(a)||(a=[a].filter((function(e){return!!e}))),n.params.pagination.el&&n.params.pagination.hideOnClick&&a&&a.length>0&&!r.classList.contains(n.params.pagination.bulletClass)){if(n.navigation&&(n.navigation.nextEl&&r===n.navigation.nextEl||n.navigation.prevEl&&r===n.navigation.prevEl))return;var o=a[0].classList.contains(n.params.pagination.hiddenClass);i(!0===o?"paginationShow":"paginationHide"),a.forEach((function(e){return e.classList.toggle(n.params.pagination.hiddenClass)}))}}));var g=function(){n.el.classList.add(n.params.pagination.paginationDisabledClass);var e=n.pagination.el;e&&(e=l(e)).forEach((function(e){return e.classList.add(n.params.pagination.paginationDisabledClass)})),v()};Object.assign(n.pagination,{enable:function(){n.el.classList.remove(n.params.pagination.paginationDisabledClass);var e=n.pagination.el;e&&(e=l(e)).forEach((function(e){return e.classList.remove(n.params.pagination.paginationDisabledClass)})),m(),h(),p()},disable:g,render:h,update:p,init:m,destroy:v})}function ud(e){var t,n,r,a,i=e.swiper,o=e.extendParams,s=e.on,l=e.emit,u=ac(),c=!1,d=null,f=null;function p(){if(i.params.scrollbar.el&&i.scrollbar.el){var e=i.scrollbar,t=i.rtlTranslate,a=e.dragEl,o=e.el,s=i.params.scrollbar,l=i.params.loop?i.progressLoop:i.progress,u=n,c=(r-n)*l;t?(c=-c)>0?(u=n-c,c=0):-c+n>r&&(u=r+c):c<0?(u=n+c,c=0):c+n>r&&(u=r-c),i.isHorizontal()?(a.style.transform="translate3d(".concat(c,"px, 0, 0)"),a.style.width="".concat(u,"px")):(a.style.transform="translate3d(0px, ".concat(c,"px, 0)"),a.style.height="".concat(u,"px")),s.hide&&(clearTimeout(d),o.style.opacity=1,d=setTimeout((function(){o.style.opacity=0,o.style.transitionDuration="400ms"}),1e3))}}function h(){if(i.params.scrollbar.el&&i.scrollbar.el){var e=i.scrollbar,t=e.dragEl,o=e.el;t.style.width="",t.style.height="",r=i.isHorizontal()?o.offsetWidth:o.offsetHeight,a=i.size/(i.virtualSize+i.params.slidesOffsetBefore-(i.params.centeredSlides?i.snapGrid[0]:0)),n="auto"===i.params.scrollbar.dragSize?r*a:parseInt(i.params.scrollbar.dragSize,10),i.isHorizontal()?t.style.width="".concat(n,"px"):t.style.height="".concat(n,"px"),o.style.display=a>=1?"none":"",i.params.scrollbar.hide&&(o.style.opacity=0),i.params.watchOverflow&&i.enabled&&e.el.classList[i.isLocked?"add":"remove"](i.params.scrollbar.lockClass)}}function m(e){return i.isHorizontal()?e.clientX:e.clientY}function v(e){var a,o=i.scrollbar,s=i.rtlTranslate,l=o.el;a=(m(e)-function(e){var t=uc(),n=ac(),r=e.getBoundingClientRect(),a=n.body,i=e.clientTop||a.clientTop||0,o=e.clientLeft||a.clientLeft||0,s=e===t?t.scrollY:e.scrollTop,l=e===t?t.scrollX:e.scrollLeft;return{top:r.top+s-i,left:r.left+l-o}}(l)[i.isHorizontal()?"left":"top"]-(null!==t?t:n/2))/(r-n),a=Math.max(Math.min(a,1),0),s&&(a=1-a);var u=i.minTranslate()+(i.maxTranslate()-i.minTranslate())*a;i.updateProgress(u),i.setTranslate(u),i.updateActiveIndex(),i.updateSlidesClasses()}function g(e){var n=i.params.scrollbar,r=i.scrollbar,a=i.wrapperEl,o=r.el,s=r.dragEl;c=!0,t=e.target===s?m(e)-e.target.getBoundingClientRect()[i.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),a.style.transitionDuration="100ms",s.style.transitionDuration="100ms",v(e),clearTimeout(f),o.style.transitionDuration="0ms",n.hide&&(o.style.opacity=1),i.params.cssMode&&(i.wrapperEl.style["scroll-snap-type"]="none"),l("scrollbarDragStart",e)}function y(e){var t=i.scrollbar,n=i.wrapperEl,r=t.el,a=t.dragEl;c&&(e.preventDefault?e.preventDefault():e.returnValue=!1,v(e),n.style.transitionDuration="0ms",r.style.transitionDuration="0ms",a.style.transitionDuration="0ms",l("scrollbarDragMove",e))}function b(e){var t=i.params.scrollbar,n=i.scrollbar,r=i.wrapperEl,a=n.el;c&&(c=!1,i.params.cssMode&&(i.wrapperEl.style["scroll-snap-type"]="",r.style.transitionDuration=""),t.hide&&(clearTimeout(f),f=cc((function(){a.style.opacity=0,a.style.transitionDuration="400ms"}),1e3)),l("scrollbarDragEnd",e),t.snapOnRelease&&i.slideToClosest())}function w(e){var t=i.scrollbar,n=i.params,r=t.el;if(r){var a=r,o=!!n.passiveListeners&&{passive:!1,capture:!1},s=!!n.passiveListeners&&{passive:!0,capture:!1};if(a){var l="on"===e?"addEventListener":"removeEventListener";a[l]("pointerdown",g,o),u[l]("pointermove",y,o),u[l]("pointerup",b,s)}}}function x(){var e=i.scrollbar,t=i.el;i.params.scrollbar=id(i,i.originalParams.scrollbar,i.params.scrollbar,{el:"swiper-scrollbar"});var n,r,a=i.params.scrollbar;a.el&&("string"===typeof a.el&&i.isElement&&(n=i.el.shadowRoot.querySelector(a.el)),n||"string"!==typeof a.el?n||(n=a.el):n=u.querySelectorAll(a.el),i.params.uniqueNavElements&&"string"===typeof a.el&&n.length>1&&1===t.querySelectorAll(a.el).length&&(n=t.querySelector(a.el)),n.length>0&&(n=n[0]),n.classList.add(i.isHorizontal()?a.horizontalClass:a.verticalClass),n&&((r=n.querySelector(".".concat(i.params.scrollbar.dragClass)))||(r=bc("div",i.params.scrollbar.dragClass),n.append(r))),Object.assign(e,{el:n,dragEl:r}),a.draggable&&i.params.scrollbar.el&&i.scrollbar.el&&w("on"),n&&n.classList[i.enabled?"remove":"add"](i.params.scrollbar.lockClass))}function S(){var e=i.params.scrollbar,t=i.scrollbar.el;t&&t.classList.remove(i.isHorizontal()?e.horizontalClass:e.verticalClass),i.params.scrollbar.el&&i.scrollbar.el&&w("off")}o({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),i.scrollbar={el:null,dragEl:null},s("init",(function(){!1===i.params.scrollbar.enabled?_():(x(),h(),p())})),s("update resize observerUpdate lock unlock",(function(){h()})),s("setTranslate",(function(){p()})),s("setTransition",(function(e,t){!function(e){i.params.scrollbar.el&&i.scrollbar.el&&(i.scrollbar.dragEl.style.transitionDuration="".concat(e,"ms"))}(t)})),s("enable disable",(function(){var e=i.scrollbar.el;e&&e.classList[i.enabled?"remove":"add"](i.params.scrollbar.lockClass)})),s("destroy",(function(){S()}));var _=function(){i.el.classList.add(i.params.scrollbar.scrollbarDisabledClass),i.scrollbar.el&&i.scrollbar.el.classList.add(i.params.scrollbar.scrollbarDisabledClass),S()};Object.assign(i.scrollbar,{enable:function(){i.el.classList.remove(i.params.scrollbar.scrollbarDisabledClass),i.scrollbar.el&&i.scrollbar.el.classList.remove(i.params.scrollbar.scrollbarDisabledClass),x(),h(),p()},disable:_,updateSize:h,setTranslate:p,init:x,destroy:S})}function cd(e){var t=e.swiper,n=e.extendParams,r=e.emit,a=e.once;n({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){var e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){var e=t.touchEventsData,n=t.touches;0===e.velocities.length&&e.velocities.push({position:n[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:n[t.isHorizontal()?"currentX":"currentY"],time:dc()})},onTouchEnd:function(e){var n=e.currentPos,i=t.params,o=t.wrapperEl,s=t.rtlTranslate,l=t.snapGrid,u=t.touchEventsData,c=dc()-u.touchStartTime;if(n<-t.minTranslate())t.slideTo(t.activeIndex);else if(n>-t.maxTranslate())t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1);else{if(i.freeMode.momentum){if(u.velocities.length>1){var d=u.velocities.pop(),f=u.velocities.pop(),p=d.position-f.position,h=d.time-f.time;t.velocity=p/h,t.velocity/=2,Math.abs(t.velocity)<i.freeMode.minimumVelocity&&(t.velocity=0),(h>150||dc()-d.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=i.freeMode.momentumVelocityRatio,u.velocities.length=0;var m=1e3*i.freeMode.momentumRatio,v=t.velocity*m,g=t.translate+v;s&&(g=-g);var y,b,w=!1,x=20*Math.abs(t.velocity)*i.freeMode.momentumBounceRatio;if(g<t.maxTranslate())i.freeMode.momentumBounce?(g+t.maxTranslate()<-x&&(g=t.maxTranslate()-x),y=t.maxTranslate(),w=!0,u.allowMomentumBounce=!0):g=t.maxTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(g>t.minTranslate())i.freeMode.momentumBounce?(g-t.minTranslate()>x&&(g=t.minTranslate()+x),y=t.minTranslate(),w=!0,u.allowMomentumBounce=!0):g=t.minTranslate(),i.loop&&i.centeredSlides&&(b=!0);else if(i.freeMode.sticky){for(var S,_=0;_<l.length;_+=1)if(l[_]>-g){S=_;break}g=-(g=Math.abs(l[S]-g)<Math.abs(l[S-1]-g)||"next"===t.swipeDirection?l[S]:l[S-1])}if(b&&a("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(m=s?Math.abs((-g-t.translate)/t.velocity):Math.abs((g-t.translate)/t.velocity),i.freeMode.sticky){var k=Math.abs((s?-g:g)-t.translate),E=t.slidesSizesGrid[t.activeIndex];m=k<E?i.speed:k<2*E?1.5*i.speed:2.5*i.speed}}else if(i.freeMode.sticky)return void t.slideToClosest();i.freeMode.momentumBounce&&w?(t.updateProgress(y),t.setTransition(m),t.setTranslate(g),t.transitionStart(!0,t.swipeDirection),t.animating=!0,_c(o,(function(){t&&!t.destroyed&&u.allowMomentumBounce&&(r("momentumBounce"),t.setTransition(i.speed),setTimeout((function(){t.setTranslate(y),_c(o,(function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(r("_freeModeNoMomentumRelease"),t.updateProgress(g),t.setTransition(m),t.setTranslate(g),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,_c(o,(function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(g),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(i.freeMode.sticky)return void t.slideToClosest();i.freeMode&&r("_freeModeNoMomentumRelease")}(!i.freeMode.momentum||c>=i.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})}function dd(e){return"object"===typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function fd(e,t){var n=["__proto__","constructor","prototype"];Object.keys(t).filter((function(e){return n.indexOf(e)<0})).forEach((function(n){"undefined"===typeof e[n]?e[n]=t[n]:dd(t[n])&&dd(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:fd(e[n],t[n]):e[n]=t[n]}))}function pd(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.navigation&&"undefined"===typeof e.navigation.nextEl&&"undefined"===typeof e.navigation.prevEl}function hd(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.pagination&&"undefined"===typeof e.pagination.el}function md(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return e.scrollbar&&"undefined"===typeof e.scrollbar.el}function vd(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(" ").map((function(e){return e.trim()})).filter((function(e){return!!e})),t=[];return e.forEach((function(e){t.indexOf(e)<0&&t.push(e)})),t.join(" ")}function gd(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return e?e.includes("swiper-wrapper")?e:"swiper-wrapper ".concat(e):"swiper-wrapper"}var yd=["modules","init","_direction","oneWayMovement","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopedSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideNextClass","slidePrevClass","wrapperClass","lazyPreloaderClass","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control","injectStyles","injectStylesUrls"];function bd(e){return e.type&&e.type.displayName&&e.type.displayName.includes("SwiperSlide")}function wd(e){var n=[];return t.Children.toArray(e).forEach((function(e){bd(e)?n.push(e):e.props&&e.props.children&&wd(e.props.children).forEach((function(e){return n.push(e)}))})),n}function xd(e){var n=[],r={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]};return t.Children.toArray(e).forEach((function(e){if(bd(e))n.push(e);else if(e.props&&e.props.slot&&r[e.props.slot])r[e.props.slot].push(e);else if(e.props&&e.props.children){var t=wd(e.props.children);t.length>0?t.forEach((function(e){return n.push(e)})):r["container-end"].push(e)}else r["container-end"].push(e)})),{slides:n,slots:r}}function Sd(e){var t,n,r,a,i,o,s,l,u=e.swiper,c=e.slides,d=e.passedParams,f=e.changedParams,p=e.nextEl,h=e.prevEl,m=e.scrollbarEl,v=e.paginationEl,g=f.filter((function(e){return"children"!==e&&"direction"!==e&&"wrapperClass"!==e})),y=u.params,b=u.pagination,w=u.navigation,x=u.scrollbar,S=u.virtual,_=u.thumbs;f.includes("thumbs")&&d.thumbs&&d.thumbs.swiper&&y.thumbs&&!y.thumbs.swiper&&(t=!0),f.includes("controller")&&d.controller&&d.controller.control&&y.controller&&!y.controller.control&&(n=!0),f.includes("pagination")&&d.pagination&&(d.pagination.el||v)&&(y.pagination||!1===y.pagination)&&b&&!b.el&&(r=!0),f.includes("scrollbar")&&d.scrollbar&&(d.scrollbar.el||m)&&(y.scrollbar||!1===y.scrollbar)&&x&&!x.el&&(a=!0),f.includes("navigation")&&d.navigation&&(d.navigation.prevEl||h)&&(d.navigation.nextEl||p)&&(y.navigation||!1===y.navigation)&&w&&!w.prevEl&&!w.nextEl&&(i=!0);(f.includes("loop")&&u.isElement&&(y.loop&&!d.loop?o=!0:!y.loop&&d.loop?s=!0:l=!0),g.forEach((function(e){if(dd(y[e])&&dd(d[e]))fd(y[e],d[e]);else{var t=d[e];!0!==t&&!1!==t||"navigation"!==e&&"pagination"!==e&&"scrollbar"!==e?y[e]=d[e]:!1===t&&u[n=e]&&(u[n].destroy(),"navigation"===n?(u.isElement&&(u[n].prevEl.remove(),u[n].nextEl.remove()),y[n].prevEl=void 0,y[n].nextEl=void 0,u[n].prevEl=void 0,u[n].nextEl=void 0):(u.isElement&&u[n].el.remove(),y[n].el=void 0,u[n].el=void 0))}var n})),g.includes("controller")&&!n&&u.controller&&u.controller.control&&y.controller&&y.controller.control&&(u.controller.control=y.controller.control),f.includes("children")&&c&&S&&y.virtual.enabled&&(S.slides=c,S.update(!0)),f.includes("children")&&c&&y.loop&&(l=!0),t)&&(_.init()&&_.update(!0));n&&(u.controller.control=y.controller.control),r&&(!u.isElement||v&&"string"!==typeof v||((v=document.createElement("div")).classList.add("swiper-pagination"),u.el.shadowEl.appendChild(v)),v&&(y.pagination.el=v),b.init(),b.render(),b.update()),a&&(!u.isElement||m&&"string"!==typeof m||((m=document.createElement("div")).classList.add("swiper-scrollbar"),u.el.shadowEl.appendChild(m)),m&&(y.scrollbar.el=m),x.init(),x.updateSize(),x.setTranslate()),i&&(u.isElement&&(p&&"string"!==typeof p||((p=document.createElement("div")).classList.add("swiper-button-next"),u.el.shadowEl.appendChild(p)),h&&"string"!==typeof h||((h=document.createElement("div")).classList.add("swiper-button-prev"),u.el.shadowEl.appendChild(h))),p&&(y.navigation.nextEl=p),h&&(y.navigation.prevEl=h),w.init(),w.update()),f.includes("allowSlideNext")&&(u.allowSlideNext=d.allowSlideNext),f.includes("allowSlidePrev")&&(u.allowSlidePrev=d.allowSlidePrev),f.includes("direction")&&u.changeDirection(d.direction,!1),(o||l)&&u.loopDestroy(),(s||l)&&u.loopCreate(),u.update()}function _d(e,n){return"undefined"===typeof window?(0,t.useEffect)(e,n):(0,t.useLayoutEffect)(e,n)}var kd=(0,t.createContext)(null),Ed=(0,t.createContext)(null),Td=["className","tag","wrapperTag","children","onSwiper"];function Cd(){return Cd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cd.apply(this,arguments)}var Od=(0,t.forwardRef)((function(e,n){var r=void 0===e?{}:e,a=r.className,i=r.tag,o=void 0===i?"div":i,s=r.wrapperTag,l=void 0===s?"div":s,c=r.children,d=r.onSwiper,f=br(r,Td),p=!1,h=u((0,t.useState)("swiper"),2),m=h[0],v=h[1],g=u((0,t.useState)(null),2),y=g[0],b=g[1],w=u((0,t.useState)(!1),2),x=w[0],S=w[1],_=(0,t.useRef)(!1),k=(0,t.useRef)(null),E=(0,t.useRef)(null),T=(0,t.useRef)(null),C=(0,t.useRef)(null),O=(0,t.useRef)(null),j=(0,t.useRef)(null),N=(0,t.useRef)(null),P=(0,t.useRef)(null),L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n={on:{}},r={},a={};fd(n,ad.defaults),fd(n,ad.extendedDefaults),n._emitClasses=!0,n.init=!1;var i={},o=yd.map((function(e){return e.replace(/_/,"")})),s=Object.assign({},e);return Object.keys(s).forEach((function(s){"undefined"!==typeof e[s]&&(o.indexOf(s)>=0?dd(e[s])?(n[s]={},a[s]={},fd(n[s],e[s]),fd(a[s],e[s])):(n[s]=e[s],a[s]=e[s]):0===s.search(/on[A-Z]/)&&"function"===typeof e[s]?t?r["".concat(s[2].toLowerCase()).concat(s.substr(3))]=e[s]:n.on["".concat(s[2].toLowerCase()).concat(s.substr(3))]=e[s]:i[s]=e[s])})),["navigation","pagination","scrollbar"].forEach((function(e){!0===n[e]&&(n[e]={}),!1===n[e]&&delete n[e]})),{params:n,passedParams:a,rest:i,events:r}}(f),M=L.params,I=L.passedParams,R=L.rest,A=L.events,D=xd(c),z=D.slides,F=D.slots,B=function(){S(!x)};Object.assign(M.on,{_containerClasses:function(e,t){v(t)}});var V=function(){Object.assign(M.on,A),p=!0;var e=et({},M);if(delete e.wrapperClass,E.current=new ad(e),E.current.virtual&&E.current.params.virtual.enabled){E.current.virtual.slides=z;var t={cache:!1,slides:z,renderExternal:b,renderExternalUpdate:!1};fd(E.current.params.virtual,t),fd(E.current.originalParams.virtual,t)}};k.current||V(),E.current&&E.current.on("_beforeBreakpoint",B);return(0,t.useEffect)((function(){return function(){E.current&&E.current.off("_beforeBreakpoint",B)}})),(0,t.useEffect)((function(){!_.current&&E.current&&(E.current.emitSlidesClasses(),_.current=!0)})),_d((function(){if(n&&(n.current=k.current),k.current)return E.current.destroyed&&V(),function(e,t){var n=e.el,r=e.nextEl,a=e.prevEl,i=e.paginationEl,o=e.scrollbarEl,s=e.swiper;pd(t)&&r&&a&&(s.params.navigation.nextEl=r,s.originalParams.navigation.nextEl=r,s.params.navigation.prevEl=a,s.originalParams.navigation.prevEl=a),hd(t)&&i&&(s.params.pagination.el=i,s.originalParams.pagination.el=i),md(t)&&o&&(s.params.scrollbar.el=o,s.originalParams.scrollbar.el=o),s.init(n)}({el:k.current,nextEl:O.current,prevEl:j.current,paginationEl:N.current,scrollbarEl:P.current,swiper:E.current},M),d&&d(E.current),function(){E.current&&!E.current.destroyed&&E.current.destroy(!0,!1)}}),[]),_d((function(){!p&&A&&E.current&&Object.keys(A).forEach((function(e){E.current.on(e,A[e])}));var e=function(e,t,n,r,a){var i=[];if(!t)return i;var o=function(e){i.indexOf(e)<0&&i.push(e)};if(n&&r){var s=r.map(a),l=n.map(a);s.join("")!==l.join("")&&o("children"),r.length!==n.length&&o("children")}return yd.filter((function(e){return"_"===e[0]})).map((function(e){return e.replace(/_/,"")})).forEach((function(n){if(n in e&&n in t)if(dd(e[n])&&dd(t[n])){var r=Object.keys(e[n]),a=Object.keys(t[n]);r.length!==a.length?o(n):(r.forEach((function(r){e[n][r]!==t[n][r]&&o(n)})),a.forEach((function(r){e[n][r]!==t[n][r]&&o(n)})))}else e[n]!==t[n]&&o(n)})),i}(I,T.current,z,C.current,(function(e){return e.key}));return T.current=I,C.current=z,e.length&&E.current&&!E.current.destroyed&&Sd({swiper:E.current,slides:z,passedParams:I,changedParams:e,nextEl:O.current,prevEl:j.current,scrollbarEl:P.current,paginationEl:N.current}),function(){A&&E.current&&Object.keys(A).forEach((function(e){E.current.off(e,A[e])}))}})),_d((function(){!function(e){!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())}(E.current)}),[y]),t.createElement(o,Cd({ref:k,className:vd("".concat(m).concat(a?" ".concat(a):""))},R),t.createElement(Ed.Provider,{value:E.current},F["container-start"],t.createElement(l,{className:gd(M.wrapperClass)},F["wrapper-start"],M.virtual?function(e,n,r){if(!r)return null;for(var a=function(e){var t=e;return e<0?t=n.length+e:t>=n.length&&(t-=n.length),t},i=e.isHorizontal()?Je({},e.rtlTranslate?"right":"left","".concat(r.offset,"px")):{top:"".concat(r.offset,"px")},o=r.from,s=r.to,l=e.params.loop?-n.length:0,u=e.params.loop?2*n.length:n.length,c=[],d=l;d<u;d+=1)d>=o&&d<=s&&c.push(n[a(d)]);return c.map((function(n){return t.cloneElement(n,{swiper:e,style:i})}))}(E.current,z,y):z.map((function(e,n){return t.cloneElement(e,{swiper:E.current,swiperSlideIndex:n})})),F["wrapper-end"]),pd(M)&&t.createElement(t.Fragment,null,t.createElement("div",{ref:j,className:"swiper-button-prev"}),t.createElement("div",{ref:O,className:"swiper-button-next"})),md(M)&&t.createElement("div",{ref:P,className:"swiper-scrollbar"}),hd(M)&&t.createElement("div",{ref:N,className:"swiper-pagination"}),F["container-end"]))}));Od.displayName="Swiper";var jd=["tag","children","className","swiper","zoom","lazy","virtualIndex","swiperSlideIndex"];function Nd(){return Nd=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nd.apply(this,arguments)}var Pd=(0,t.forwardRef)((function(e,n){var r=void 0===e?{}:e,a=r.tag,i=void 0===a?"div":a,o=r.children,s=r.className,l=void 0===s?"":s,c=r.swiper,d=r.zoom,f=r.lazy,p=r.virtualIndex,h=r.swiperSlideIndex,m=br(r,jd),v=(0,t.useRef)(null),g=u((0,t.useState)("swiper-slide"),2),y=g[0],b=g[1],w=u((0,t.useState)(!1),2),x=w[0],S=w[1];function _(e,t,n){t===v.current&&b(n)}_d((function(){if("undefined"!==typeof h&&(v.current.swiperSlideIndex=h),n&&(n.current=v.current),v.current&&c){if(!c.destroyed)return c.on("_slideClass",_),function(){c&&c.off("_slideClass",_)};"swiper-slide"!==y&&b("swiper-slide")}})),_d((function(){c&&v.current&&!c.destroyed&&b(c.getSlideClasses(v.current))}),[c]);var k={isActive:y.indexOf("swiper-slide-active")>=0,isVisible:y.indexOf("swiper-slide-visible")>=0,isPrev:y.indexOf("swiper-slide-prev")>=0,isNext:y.indexOf("swiper-slide-next")>=0},E=function(){return"function"===typeof o?o(k):o};return t.createElement(i,Nd({ref:v,className:vd("".concat(y).concat(l?" ".concat(l):"")),"data-swiper-slide-index":p,onLoad:function(){S(!0)}},m),d&&t.createElement(kd.Provider,{value:k},t.createElement("div",{className:"swiper-zoom-container","data-swiper-zoom":"number"===typeof d?d:void 0},E(),f&&!x&&t.createElement("div",{className:"swiper-lazy-preloader"}))),!d&&t.createElement(kd.Provider,{value:k},E(),f&&!x&&t.createElement("div",{className:"swiper-lazy-preloader"})))}));Pd.displayName="SwiperSlide";var Ld=n(832),Md=n.n(Ld),Id=function(e){var n=e.id,r=u((0,t.useState)([]),2),a=r[0],i=r[1],o=u((0,t.useState)(!1),2),s=o[0],l=o[1],c=u((0,t.useState)(0),2),d=c[0],f=c[1],p=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGameScreenshotsById(n);case 2:t=e.sent,i(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),h=p[0],m=p[1],v=p[2];(0,t.useEffect)((function(){h()}),[n]);var g=a.map((function(e){return{original:e.image,thumbnail:e.image}}));return(0,tt.jsxs)("div",{className:"game-screenshot__inner",children:[m?(0,tt.jsx)($u,{}):(0,tt.jsx)(Od,{modules:[od,ld,ud,cd],spaceBetween:10,slidesPerView:3,loop:!0,navigation:!0,pagination:{clickable:!0},scrollbar:{draggable:!0},wrapperClass:"screenshots-slider",breakpoints:{0:{slidesPerView:"auto",freeMode:{enabled:!0}},576:{slidesPerView:3,spaceBetween:10,scrollbar:{draggable:!0}}},children:v?(0,tt.jsx)(Tu,{}):a.map((function(e,t){return(0,tt.jsx)(Pd,{onClick:function(){return function(e){l(!0),f(e),document.body.style.overflow="hidden"}(t)},children:(0,tt.jsx)("img",{src:e.image,alt:"game-screenshot",className:"game-screenshot"})},e.id)}))}),s&&(0,tt.jsx)(ec,{handleClose:function(){l(!1),document.body.style.overflow="auto"},children:(0,tt.jsx)(Md(),{items:g,startIndex:d,showPlayButton:!1,showFullscreenButton:!1,showNav:!0,loading:!0,showBullets:!0,showIndex:!0,indexSeparator:"of"})}),v&&(0,tt.jsx)(Tu,{})]})},Rd=function(e){var n=e.id,r=u((0,t.useState)([]),2),a=r[0],i=r[1],o=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGameAchiviementsById(n);case 2:t=e.sent,i(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),s=o[0],l=o[1],c=o[2];return(0,t.useEffect)((function(){s()}),[n]),(0,tt.jsxs)("div",{className:"game-achievements__inner",children:[l?(0,tt.jsx)($u,{}):0!==a.length?a.map((function(e){return(0,tt.jsxs)("div",{className:"game-achieve",children:[(0,tt.jsx)("div",{className:"game-achieve__photo",children:(0,tt.jsx)("img",{src:e.image,alt:""})}),(0,tt.jsxs)("div",{className:"game-achieve__text",children:[(0,tt.jsx)("div",{className:"game-achieve__name",children:e.name}),(0,tt.jsxs)("div",{className:"game-achieve__percent",children:[e.percent,"%"]}),(0,tt.jsx)("div",{className:"game-achieve__descr",children:e.description})]})]},e.id)})):(0,tt.jsx)("div",{children:"There is no achievements for this game"}),c&&(0,tt.jsx)(Tu,{})]})},Ad=function(e){var n=e.id,r=u((0,t.useState)([]),2),a=r[0],i=r[1],o=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Pu.getDevelopersGameById(n);case 2:t=e.sent,i(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),s=o[0],l=o[1],c=o[2];(0,t.useEffect)((function(){s()}),[n]);var d={modules:[od,ld,ud],spaceBetween:10,slidesPerView:3,navigation:!0,wrapperClass:"devs-slider"},f=0!==a.length?(0,tt.jsxs)(Od,et(et({},d),{},{breakpoints:{0:{slidesPerView:"auto",freeMode:{enabled:!0}},576:{slidesPerView:2,spaceBetween:10},692:{slidesPerView:2,spaceBetween:10,freeMode:{enabled:!1}},992:{slidesPerView:3,spaceBetween:10}},children:[a.slice(0,5).map((function(e){return(0,tt.jsx)(Pd,{children:(0,tt.jsxs)("div",{className:"game-developer",style:{backgroundImage:"linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(".concat(e.image_background,")")},children:[(0,tt.jsxs)("div",{className:"game-developer__head",children:[(0,tt.jsx)("div",{className:"game-developer__head-photo",children:(0,tt.jsx)("img",{src:null===e.image?"https://w7.pngwing.com/pngs/336/946/png-transparent-avatar-user-medicine-surgery-patient-avatar-face-heroes-head.png":e.image,alt:"developer"})}),(0,tt.jsx)("div",{className:"game-developer__head-name",children:(0,tt.jsx)("a",{href:"#",children:e.name})}),(0,tt.jsx)("div",{className:"game-developer__head-positions",children:e.positions.map((function(e,t,n){return t+1!==n.length?(0,tt.jsxs)("div",{className:"game-developer__head-position",children:[e.name.charAt(0).toUpperCase()+e.name.slice(1),","]},e.id):(0,tt.jsx)("div",{className:"game-developer__head-position",children:e.name.charAt(0).toUpperCase()+e.name.slice(1)},e.id)}))})]}),(0,tt.jsxs)("div",{className:"card-item__content",children:[(0,tt.jsxs)("div",{className:"card-item__content-title",children:["Known for ",e.games_count," games"]}),(0,tt.jsx)("ul",{className:"card-item__content-items",children:e.games.map((function(e){return(0,tt.jsxs)("li",{className:"card-item__content-game",children:[(0,tt.jsx)(Ke,{to:"/games/".concat(e.slug),className:"card-item__content-name",children:e.name}),(0,tt.jsx)("span",{className:"card-item__content-added",children:e.added})]},e.id)}))})]})]})},e.id)})),(0,tt.jsx)(Pd,{children:(0,tt.jsx)("div",{className:"game-developer",children:(0,tt.jsx)(Ke,{to:"/developers",className:"game-developer__button-more",children:(0,tt.jsx)("button",{children:"More"})})})})]})):(0,tt.jsx)("div",{children:"There is no creators for this game"});return(0,tt.jsxs)("div",{className:"game-devs__inner",children:[l?(0,tt.jsx)($u,{}):f,c&&(0,tt.jsx)(Tu,{})]})},Dd=function(e){var t=new Date(e),n=t.getFullYear(),r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()],a=t.getDate();return"".concat(r," ").concat(a,", ").concat(n)},zd=function(e){var n=e.id,r=u((0,t.useState)([]),2),a=r[0],i=r[1],o=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getRedditPostsById(n);case 2:t=e.sent,i(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),s=o[0],l=o[1],c=o[2];(0,t.useEffect)((function(){s()}),[n]);var d=0!==a.length?a.map((function(e){return(0,tt.jsxs)("div",{className:"game-reddit__post",children:[(0,tt.jsxs)("a",{href:e.url,className:"game-reddit__post-head",children:[null===e.image?null:(0,tt.jsx)("div",{className:"game-reddit__post-photo",children:(0,tt.jsx)("img",{src:e.image,alt:"reddit-post"})}),(0,tt.jsx)("div",{className:"game-reddit__post-name",children:e.name})]}),(0,tt.jsxs)("div",{className:"game-reddit__post-meta",children:[(0,tt.jsx)("div",{className:"game-reddit__post-date",children:Dd(e.created)}),(0,tt.jsx)("div",{className:"game-reddit__post-separator",children:"|"}),(0,tt.jsx)("a",{href:e.username_url,target:"_blank",rel:"noreferrer",className:"game-reddit__post-username",children:e.username})]})]},e.id)})):(0,tt.jsx)("div",{children:"There is no Reddit posts"});return(0,tt.jsxs)("div",{className:"game-reddit__inner",children:[l?(0,tt.jsx)($u,{}):d,c&&(0,tt.jsx)(Tu,{})]})},Fd=function(e){var n=e.id,r=u((0,t.useState)([]),2),a=r[0],i=r[1],o=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGameAdditionsById(n);case 2:t=e.sent,i(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),s=o[0],l=o[1],c=o[2],d=u((0,t.useState)(!1),2),f=d[0],p=d[1];(0,t.useEffect)((function(){s()}),[n]);var h=!l&&0===a.length,m=!l&&a.length>0&&a.length>3,v=!l&&a.length>0&&a.length<=3,g=a.slice(0,3).map((function(e){return(0,tt.jsx)("div",{className:"game-addition",children:(0,tt.jsx)(vr,{game:e})},e.id)})),y=a.map((function(e){return(0,tt.jsx)("div",{className:"game-addition",children:(0,tt.jsx)(vr,{game:e})},e.id)}));return(0,tt.jsxs)("div",{className:"game-additions__inner",children:[l&&(0,tt.jsx)($u,{}),h&&(0,tt.jsx)("div",{children:"There are no additions for this game"}),m&&(0,tt.jsx)(tt.Fragment,{children:f?y:(0,tt.jsxs)(tt.Fragment,{children:[g,(0,tt.jsx)("div",{className:"game-addition no-game",children:(0,tt.jsx)("div",{className:"game-addition__no-game",children:(0,tt.jsx)("button",{onClick:function(){return p(!0)},children:"More"})})})]})}),v&&y,c&&(0,tt.jsx)(Tu,{})]})};var Bd=n.p+"static/media/psStore.ee3230058629052169a37b6e07ae02ee.svg";var Vd=n.p+"static/media/steamStore.3c8772cba59a2474d8b2b75bd6d15c1e.svg";var Ud=n.p+"static/media/xboxStore.cf883a72b8f5f821fc37de8052ae8f0e.svg";var Hd=n.p+"static/media/nintendoStore.76701a975fc1e33c6c6c075724584241.svg";var Wd=n.p+"static/media/epicgamesStore.c1ee1895a44786d1d2415ac91593adc1.svg";var Gd=n.p+"static/media/googlePlayStore.63328e0af3b93c01c76943aa28c68198.svg";var $d=n.p+"static/media/appleStore.b69b9b60bd15f85106e0437aaffc0dc7.svg";var qd=n.p+"static/media/gogStore.9067292da7a1d81d759307a6b3645d0a.svg";var Kd=n.p+"static/media/itchIoStore.dfbce58f4f1d5461465f0cfa2d2921c1.svg",Yd=function(e){var n=e.stores,r=e.id,a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getStoreGameById(r);case 2:t=e.sent,o(t.data.results);case 4:case"end":return e.stop()}}),e)})))),3),l=s[0],c=s[1],d=s[2],f=u((0,t.useState)(!1),2),p=f[0],h=f[1],m=function(){h(window.innerWidth<992)};(0,t.useEffect)((function(){return l(),m(),window.addEventListener("resize",m),function(){window.removeEventListener("resize",m)}}),[r,n]);var v={"PlayStation Store":Bd,"Xbox 360 Store":Ud,"Xbox Store":Ud,"Epic Games":Wd,Steam:Vd,"Nintendo Store":Hd,"Google Play":Gd,"App Store":$d,GOG:qd,"itch.io":Kd},g=n.map((function(e){var t=i.find((function(t){return t.store_id===e.store.id}));if(void 0!==t)return(0,tt.jsx)(Pd,{children:(0,tt.jsxs)("a",{className:"stores-button",href:t.url,target:"_blank",rel:"noreferrer",children:[(0,tt.jsx)("div",{children:e.store.name}),(0,tt.jsx)("img",{src:v[e.store.name],alt:"store-icon"})]},e.store.id)},e.store.id)})),y=n.map((function(e){var t=i.find((function(t){return t.store_id===e.store.id}));if(void 0!==t)return(0,tt.jsxs)("a",{className:"stores-button",href:t.url,target:"_blank",rel:"noreferrer",children:[(0,tt.jsx)("div",{children:e.store.name}),(0,tt.jsx)("img",{src:v[e.store.name],alt:"store-icon"})]},e.store.id)}));return(0,tt.jsxs)("div",{className:"stores-inner",children:[c?(0,tt.jsx)($u,{}):p?(0,tt.jsx)(Od,{modules:[ud,cd],spaceBetween:5,slidesPerView:"auto",scrollbar:{draggable:!1},freeMode:{enabled:!0},wrapperClass:"stores-slider",children:d?(0,tt.jsx)(Tu,{}):g}):y,d&&(0,tt.jsx)(Tu,{})]})},Xd=function(e){var t=e.platform,n=e.req,r=e.type,a="",i=Wu().sanitize(n),o=/\n([\w\s\xae]+:)/g;if("PC"!==t.platform.name||0===Object.keys(t.requirements).length)return(0,tt.jsxs)("div",{className:"reqs-block",children:[(0,tt.jsx)("div",{className:"reqs-name",children:r}),(0,tt.jsx)("ul",{className:"reqs-ul",children:(0,tt.jsxs)("div",{className:"reqs-undefined",children:["There is no ",r," requirements information for this game"]})})]});var s="";if("Minimal"===r&&void 0!==n){if(!(a=i.replace(o,"\n<strong>$1</strong>")).includes("\n"))return(0,tt.jsx)("li",{className:"reqs-li",children:n},t.platform.id);s=a.split("\n"),a=s.map((function(e,t){return 0===t||0===e.length?null:(0,tt.jsx)("li",{className:"reqs-li",dangerouslySetInnerHTML:{__html:e}},t)}))}if("Recommended"===r&&void 0!==n){if(!(a=i.replace(o,"\n<strong>$1</strong>")).includes("\n"))return(0,tt.jsx)("li",{className:"reqs-li",children:n},t.platform.id);s=a.split("\n"),a=s.map((function(e,t){return 0===t||0===e.length?null:(0,tt.jsx)("li",{className:"reqs-li",dangerouslySetInnerHTML:{__html:e}},t)}))}return void 0===n&&(a=(0,tt.jsx)("div",{className:"reqs-block",children:(0,tt.jsxs)("div",{className:"reqs-undefined",children:["There is no ",r," requirements information for this game"]})})),(0,tt.jsxs)("div",{className:"reqs-block",children:[(0,tt.jsx)("div",{className:"reqs-name",children:r}),(0,tt.jsx)("ul",{className:"reqs-ul",children:a})]})},Qd=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)(!1),2),i=a[0],o=a[1],s=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ir.getGameBySlug(d.slug);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),l=s[0],c=s[1],d=(s[2],ke()),f=Wu().sanitize(n.description);return(0,t.useEffect)((function(){l(),window.scrollTo(0,0)}),[d.slug]),(0,tt.jsxs)("div",{className:"page game-page",children:[(0,tt.jsx)("div",{className:"container",children:c?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"game-page__wrapper",children:[(0,tt.jsxs)("div",{className:"game-page__main",children:[(0,tt.jsxs)("div",{className:"game-page__head",children:[null===n.released?null:(0,tt.jsx)("div",{className:"game-page__head-date",children:n.released}),(0,tt.jsx)("div",{className:"game-page__head-platforms",children:(0,tt.jsx)(fr,{platforms:n.platforms})}),(0,tt.jsx)("div",{className:"game-page__head-genres",children:n.genres.map((function(e){return(0,tt.jsx)(Ke,{to:"/genres/".concat(e.slug),className:"genre",children:e.name},e.id)}))}),(0,tt.jsxs)("div",{className:"game-page__head-playtime",children:["Average playtime: ",n.playtime," hours"]})]}),(0,tt.jsx)("h1",{className:"game-page__name",children:n.name}),(0,tt.jsxs)("div",{className:"game-page__ratings",children:[(0,tt.jsxs)("div",{className:"game-page__ratings-default",children:[0===n.rating?null:(0,tt.jsx)(hr,{type:"rating",rating:n.rating}),null===n.metacritic?null:(0,tt.jsx)(hr,{type:"metacritic",metacritic:n.metacritic})]}),n.ratings.length<3?(0,tt.jsx)("div",{className:"game-page__ratings-users",children:(0,tt.jsx)("div",{className:"rating-users",children:"Not rated yet \ud83d\ude34"})}):(0,tt.jsxs)("div",{className:"game-page__ratings-users",children:[(0,tt.jsxs)("div",{className:"rating-users",children:["\ud83c\udfaf ",n.ratings[0].count]}),(0,tt.jsxs)("div",{className:"rating-users",children:["\ud83d\udc4d ",n.ratings[1].count]}),(0,tt.jsxs)("div",{className:"rating-users",children:["\ud83d\ude10 ",n.ratings[2].count]}),(0,tt.jsxs)("div",{className:"rating-users",children:["\u26d4 ",n.ratings[3].count]})]})]})]}),0===n.stores.length?null:(0,tt.jsxs)("div",{className:"game-page__stores",children:[(0,tt.jsx)("h2",{className:"game-page__stores-head",children:"Where to buy"}),(0,tt.jsx)(Yd,{stores:n.stores,id:n.id})]}),(0,tt.jsxs)("div",{className:"game-page__about",children:[(0,tt.jsx)("h2",{className:"page__title",children:"About"}),(0,tt.jsx)("div",{className:"game-page__about-text",children:i?(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)("span",{dangerouslySetInnerHTML:{__html:f}}),(0,tt.jsx)("button",{className:"expand",onClick:function(){return o(!i)},children:"Show Less..."})]}):(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)("span",{dangerouslySetInnerHTML:{__html:f.slice(0,f.indexOf("."))+"..."}}),(0,tt.jsx)("button",{className:"expand",onClick:function(){return o(!i)},children:"Show More..."})]})})]}),(0,tt.jsxs)("div",{className:"game-page__meta",children:[(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Platforms"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.platforms.map((function(e,t,n){return t+1!==n.length?(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsxs)(Ke,{to:"/platforms/".concat(e.platform.id),children:[e.platform.name,","]})},e.id):(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsx)(Ke,{to:"/platforms/".concat(e.platform.id),children:e.platform.name})},e.id)}))})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Genre"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.genres.map((function(e,t,n){return t+1!==n.length?(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsxs)(Ke,{to:"/genres/".concat(e.slug),children:[e.name,","]})},e.id):(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsx)(Ke,{to:"/genres/".concat(e.slug),children:e.name})},e.id)}))})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Release date"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.tba?(0,tt.jsx)("div",{className:"game-page__meta-text",children:"TBA"}):(0,tt.jsx)("div",{className:"game-page__meta-text",children:n.released})})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Developers"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.developers.map((function(e,t,n){return t+1!==n.length?(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsxs)(Ke,{to:"/developers/".concat(e.slug),children:[e.name,","]})},e.id):(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsx)(Ke,{to:"/developers/".concat(e.slug),children:e.name})},e.id)}))})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Publisher"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.publishers.map((function(e,t,n){return t+1!==n.length?(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsxs)(Ke,{to:"/publishers/".concat(e.slug),children:[e.name,","]})},e.id):(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsx)(Ke,{to:"/publishers/".concat(e.slug),children:e.name})},e.id)}))})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Age rating"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:(0,tt.jsx)("div",{className:"game-page__meta-text",children:null===n.esrb_rating?(0,tt.jsx)("span",{className:"rating-none",children:"-"}):n.esrb_rating.name})})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block meta-big",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Website"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:""!==n.website?(0,tt.jsx)("div",{className:"game-page__meta-link",children:(0,tt.jsx)("a",{href:n.website,children:n.website})}):(0,tt.jsx)("span",{className:"rating-none",children:"-"})})]}),(0,tt.jsxs)("div",{className:"game-page__meta-block meta-big",children:[(0,tt.jsx)("div",{className:"game-page__meta-title",children:"Tags"}),(0,tt.jsx)("div",{className:"game-page__meta-info",children:n.tags.map((function(e){return(0,tt.jsx)("div",{className:"game-page__meta-tag",children:(0,tt.jsx)(Ke,{to:"/tags/".concat(e.slug),children:e.name})},e.id)}))})]})]}),(0,tt.jsxs)("div",{className:"game-page__reqs",children:[(0,tt.jsx)("h2",{className:"page__title",children:"System requirements for PC"}),(0,tt.jsx)("div",{className:"game-page__reqs-inner",children:n.platforms.map((function(e){return"PC"===e.platform.name?(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)(Xd,{platform:e,type:"Minimal",req:e.requirements.minimum},e.id),(0,tt.jsx)(Xd,{platform:e,type:"Recommended",req:e.requirements.recommended},e.id)]}):null}))})]}),(0,tt.jsxs)("div",{className:"game-page__media",children:[(0,tt.jsx)("h2",{className:"page__title",children:"Media"}),(0,tt.jsxs)("div",{className:"game-page__screenshots",children:[(0,tt.jsx)("h2",{className:"game-page__screenshots-title",children:"Screenshots"}),(0,tt.jsx)(Id,{id:n.id})]})]}),(0,tt.jsxs)("div",{className:"game-page__developers",children:[(0,tt.jsxs)("h2",{className:"page__title",children:[n.name," created by"]}),(0,tt.jsx)(Ad,{id:n.id})]}),(0,tt.jsxs)("div",{className:"game-page__achievements",children:[(0,tt.jsx)("h2",{className:"page__title",children:"The Rarest Achievements"}),(0,tt.jsx)(Rd,{id:n.id})]}),(0,tt.jsxs)("div",{className:"game-page__reddit",children:[(0,tt.jsxs)("div",{className:"game-page__reddit-head",children:[(0,tt.jsx)("h2",{className:"page__title",children:"Reddit Posts"}),0!==n.reddit_count?(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsxs)("div",{className:"game-page__reddit-count",children:[n.reddit_count," posts"]}),(0,tt.jsx)("span",{className:"game-page__reddit-separator",children:"|"}),(0,tt.jsx)("a",{className:"game-page__reddit-buttonMore",href:n.reddit_url,children:"View All"})]}):null]}),0!==n.reddit_count?(0,tt.jsxs)("div",{className:"game-page__reddit-meta",children:[(0,tt.jsx)("div",{className:"game-page__reddit-meta__head",children:(0,tt.jsxs)("span",{className:"game-page__reddit-name",children:[(0,tt.jsx)("span",{className:"game-page__reddit-label",children:"Subreddit name: "}),n.reddit_name]})}),(0,tt.jsxs)("div",{className:"game-page__reddit-description",children:[(0,tt.jsx)("span",{className:"game-page__reddit-label",children:"Description: "}),n.reddit_description]})]}):null,(0,tt.jsx)(zd,{id:n.id})]}),(0,tt.jsxs)("div",{className:"game-page__additions",children:[(0,tt.jsx)("div",{className:"page-art__additional",style:{backgroundImage:"radial-gradient(closest-side at center center, transparent, rgb(21, 21, 21)), url(".concat(n.background_image_additional,")")}}),(0,tt.jsxs)("h2",{className:"page__title",children:["Additions for ",n.name]}),(0,tt.jsx)(Fd,{id:n.id})]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.background_image,")")}})})})]})},Jd=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)(null),2),S=x[0],_=x[1],k=u((0,t.useState)({sort:"",query:""}),2),E=k[0],T=k[1],C=ht(E.sort,i),O=ke(),j=(0,t.useRef)(),N=Wu().sanitize(n.description),P=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ru.getPublisherBySlug(O.slug);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),L=P[0],M=P[1],I=P[2],R=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ru.getGamesByPublisherSlug(O.slug,v,b,S);case 2:t=e.sent,o([].concat(d(i),d(t.data.results))),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),A=R[0],D=R[1],z=R[2],F=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ru.getGamesByPublisherSlug(O.slug,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),B=F[0],V=(F[1],F[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ru.getGamesByPublisherSlug(O.slug,v,b,S);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3)),U=V[0];V[1],V[2];return vt(j,b<p,D,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){L(),A(),window.scrollTo(0,0);var e=localStorage.getItem("displayMode");e&&c(e)}),[O.slug]),(0,t.useEffect)((function(){A()}),[b]),(0,t.useEffect)((function(){B()}),[v]),(0,t.useEffect)((function(){U()}),[S]),(0,tt.jsxs)("div",{className:"page publisher-page",children:[(0,tt.jsx)("div",{className:"container",children:M?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"publisher-page__wrapper",children:[(0,tt.jsx)("div",{className:"publisher-page__main",children:(0,tt.jsx)("div",{className:"publisher-page__head",children:(0,tt.jsxs)("h1",{className:"publisher-page__name",children:[n.name," publisher"]})})}),(0,tt.jsx)("div",{className:"publisher-page__about",children:""===n.description?(0,tt.jsx)("div",{className:"publisher-page__about-text",children:"There is no information about this publisher"}):(0,tt.jsx)("div",{className:"publisher-page__about-text",dangerouslySetInnerHTML:{__html:N}})}),(0,tt.jsxs)("div",{className:"publisher-page__games",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return T(et(et({},E),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return _(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return c("column")},className:"column"===l?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return c("list")},className:"list"===l?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{displayMode:l,gamesList:C}),(I||z)&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:j,className:"observer"}),b<p||D?(0,tt.jsx)(bu,{}):null]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.image_background,")")}})})})]})},Zd=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)(null),2),S=x[0],_=x[1],k=u((0,t.useState)({sort:"",query:""}),2),E=k[0],T=k[1],C=ht(E.sort,i),O=ke(),j=(0,t.useRef)(),N=Wu().sanitize(n.description),P=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Du.getGenreBySlug(O.slug);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),L=P[0],M=P[1],I=P[2],R=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Du.getGamesByGenreSlug(O.slug,v,b);case 2:t=e.sent,o([].concat(d(i),d(t.data.results)));case 4:case"end":return e.stop()}}),e)})))),3),A=R[0],D=R[1],z=R[2],F=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Du.getGamesByGenreSlug(O.slug,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),B=F[0],V=(F[1],F[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Du.getGamesByGenreSlug(O.slug,v,b,S);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3)),U=V[0];V[1],V[2];return vt(j,b<p,D,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){L(),A(),window.scrollTo(0,0);var e=localStorage.getItem("displayMode");e&&c(e)}),[O.slug]),(0,t.useEffect)((function(){A()}),[b]),(0,t.useEffect)((function(){B()}),[v]),(0,t.useEffect)((function(){U()}),[S]),(0,tt.jsxs)("div",{className:"page genre-page",children:[(0,tt.jsx)("div",{className:"container",children:M?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"genre-page__wrapper",children:[(0,tt.jsx)("div",{className:"genre-page__main",children:(0,tt.jsx)("div",{className:"genre-page__head",children:(0,tt.jsxs)("h1",{className:"genre-page__name",children:[n.name," Genre"]})})}),(0,tt.jsx)("div",{className:"genre-page__about",children:""===n.description?(0,tt.jsx)("div",{className:"genre-page__about-text",children:"There is no information about this developer"}):(0,tt.jsx)("div",{className:"genre-page__about-text",dangerouslySetInnerHTML:{__html:N}})}),(0,tt.jsxs)("div",{className:"genre-page__games",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return T(et(et({},E),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return _(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return c("column")},className:"column"===l?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return c("list")},className:"list"===l?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{displayMode:l,gamesList:C}),(I||z)&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:j,className:"observer"}),b<p||D?(0,tt.jsx)(bu,{}):null]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.image_background,")")}})})})]})},ef=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)({sort:"",query:""}),2),S=x[0],_=x[1],k=ht(S.sort,i),E=ke(),T=(0,t.useRef)(),C=Wu().sanitize(n.description),O=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Fu.getPlatformById(E.id);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),j=O[0],N=O[1],P=O[2],L=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Fu.getGamesByPlatformId(E.id,v,b);case 2:t=e.sent,o([].concat(d(i),d(t.data.results))),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),M=L[0],I=L[1],R=L[2],A=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Fu.getGamesByPlatformId(E.id,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),D=A[0],z=(A[1],A[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Fu.getGamesByPlatformId(E.id,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3));z[0],z[1],z[2];return vt(T,b<p,I,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){j(),M(),window.scrollTo(0,0);var e=localStorage.getItem("displayMode");e&&c(e)}),[E.id]),(0,t.useEffect)((function(){M()}),[b]),(0,t.useEffect)((function(){D()}),[v]),(0,tt.jsxs)("div",{className:"page platform-page",children:[(0,tt.jsx)("div",{className:"container",children:N?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"platform-page__wrapper",children:[(0,tt.jsx)("div",{className:"platform-page__main",children:(0,tt.jsx)("div",{className:"platform-page__head",children:(0,tt.jsxs)("h1",{className:"platform-page__name",children:["Games for ",n.name]})})}),(0,tt.jsx)("div",{className:"platform-page__about",children:""===n.description?(0,tt.jsx)("div",{className:"platform-page__about-text",children:"There is no information about this platform"}):(0,tt.jsx)("div",{className:"platform-page__about-text",dangerouslySetInnerHTML:{__html:C}})}),(0,tt.jsxs)("div",{className:"platform-page__games",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:S.query,onChange:function(e){return _(et(et({},S),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return c("column")},className:"column"===l?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return c("list")},className:"list"===l?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{displayMode:l,gamesList:k}),(P||R)&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:T,className:"observer"}),b<p||I?(0,tt.jsx)(bu,{}):null]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.image_background,")")}})})})]})},tf=function(){var e=u((0,t.useState)({}),2),n=e[0],r=e[1],a=u((0,t.useState)([]),2),i=a[0],o=a[1],s=u((0,t.useState)(localStorage.getItem("displayMode")||"column"),2),l=s[0],c=s[1],f=u((0,t.useState)(0),2),p=f[0],h=f[1],m=u((0,t.useState)(20),2),v=m[0],g=m[1],y=u((0,t.useState)(1),2),b=y[0],w=y[1],x=u((0,t.useState)(null),2),S=x[0],_=x[1],k=u((0,t.useState)({sort:"",query:""}),2),E=k[0],T=k[1],C=ht(E.sort,i),O=ke(),j=(0,t.useRef)(),N=Wu().sanitize(n.description),P=u(mt(pt(dt().mark((function e(){var t;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vu.getTagBySlug(O.slug);case 2:t=e.sent,r(t.data);case 4:case"end":return e.stop()}}),e)})))),3),L=P[0],M=P[1],I=P[2],R=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vu.getGamesByTagSlug(O.slug,v,b);case 2:t=e.sent,o([].concat(d(i),d(t.data.results))),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),A=R[0],D=R[1],z=R[2],F=u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vu.getGamesByTagSlug(O.slug,v,b);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3),B=F[0],V=(F[1],F[2],u(mt(pt(dt().mark((function e(){var t,n;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Vu.getGamesByTagSlug(O.slug,v,b,S);case 2:t=e.sent,o(t.data.results),n=t.data.count,h(Cu(n,v));case 6:case"end":return e.stop()}}),e)})))),3)),U=V[0];V[1],V[2];return vt(j,b<p,D,(function(){setTimeout((function(){w(b+1)}),500)})),(0,t.useEffect)((function(){L(),A(),window.scrollTo(0,0);var e=localStorage.getItem("displayMode");e&&c(e)}),[O.slug]),(0,t.useEffect)((function(){A()}),[b]),(0,t.useEffect)((function(){B()}),[v]),(0,t.useEffect)((function(){U()}),[S]),(0,tt.jsxs)("div",{className:"page tag-page",children:[(0,tt.jsx)("div",{className:"container",children:M?(0,tt.jsx)($u,{}):(0,tt.jsxs)("div",{className:"tag-page__wrapper",children:[(0,tt.jsx)("div",{className:"tag-page__main",children:(0,tt.jsx)("div",{className:"tag-page__head",children:(0,tt.jsxs)("h1",{className:"tag-page__name",children:["Games by ",n.name," Tag"]})})}),(0,tt.jsx)("div",{className:"tag-page__about",children:""===n.description?(0,tt.jsx)("div",{className:"tag-page__about-text",children:"There is no information about this tag"}):(0,tt.jsx)("div",{className:"ptagpage__about-text",dangerouslySetInnerHTML:{__html:N}})}),(0,tt.jsxs)("div",{className:"tag-page__games",children:[(0,tt.jsxs)("div",{className:"page__control",children:[(0,tt.jsxs)("div",{className:"page__control-filters",children:[(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return T(et(et({},E),{},{sort:e}))},defaultValue:"Sort by",options:[{value:"default",name:"Default"},{value:"name",name:"By name"},{value:"released",name:"By released date"},{value:"rating",name:"By user rating"},{value:"metacritic",name:"By metacritic"},{value:"added",name:"By added"}]}),(0,tt.jsx)(ws,{value:E.query,onChange:function(e){return _(e)},defaultValue:"Platform",options:[{value:null,name:"Default"},{value:4,name:"Windows"},{value:5,name:"macOS"},{value:6,name:"Linux"},{value:187,name:"PlayStation 5"},{value:18,name:"PlayStation 4"},{value:16,name:"PlayStation 3"},{value:1,name:"Xbox One"},{value:14,name:"Xbox 360"},{value:7,name:"Nintendo Switch"},{value:3,name:"iOS"},{value:21,name:"Android"},{value:171,name:"Web"}]}),(0,tt.jsx)(ws,{value:v,onChange:function(e){return g(e)},defaultValue:"Page size",options:[{value:"default",name:"Default"},{value:15,name:"15 games"},{value:10,name:"10 games"},{value:5,name:"5 games"}]})]}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return c("column")},className:"column"===l?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return c("list")},className:"list"===l?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsx)(yr,{displayMode:l,gamesList:C}),(I||z)&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:j,className:"observer"}),b<p||D?(0,tt.jsx)(bu,{}):null]})]})}),(0,tt.jsx)("div",{className:"page-art",children:(0,tt.jsx)("div",{className:"page-art__wrapper",children:(0,tt.jsx)("div",{className:"art",style:{backgroundImage:"linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(".concat(n.image_background,")")}})})})]})},nf=[{path:"/",element:(0,tt.jsx)(ct,{})},{path:"/games",element:(0,tt.jsx)(Ou,{})},{path:"/games-by-rating",element:(0,tt.jsx)(ju,{})},{path:"/games-by-metacritic",element:(0,tt.jsx)(Nu,{})},{path:"/games/:slug",element:(0,tt.jsx)(Qd,{})},{path:"/developers",element:(0,tt.jsx)(Iu,{})},{path:"/developers/:slug",element:(0,tt.jsx)(qu,{})},{path:"/publishers",element:(0,tt.jsx)(Au,{})},{path:"/publishers/:slug",element:(0,tt.jsx)(Jd,{})},{path:"/genres",element:(0,tt.jsx)(zu,{})},{path:"/genres/:slug",element:(0,tt.jsx)(Zd,{})},{path:"/platforms",element:(0,tt.jsx)(Bu,{})},{path:"/platforms/:id",element:(0,tt.jsx)(ef,{})},{path:"/tags",element:(0,tt.jsx)(Uu,{})},{path:"/tags/:slug",element:(0,tt.jsx)(tf,{})}],rf=function(){var e=(0,t.useContext)(nt).searchFormData,n=u((0,t.useState)([]),2),r=n[0],a=n[1],i=u((0,t.useState)("list"),2),o=i[0],s=i[1],l=u((0,t.useState)(0),2),c=l[0],f=l[1],p=u((0,t.useState)(10),2),h=p[0],m=(p[1],u((0,t.useState)(1),2)),v=m[0],g=m[1],y=u(mt(pt(dt().mark((function t(){var n,r;return dt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ir.getGamesListBySearch(e.query,h,v);case 2:n=t.sent,a(n.data.results),r=n.data.count,f(Cu(r,h));case 6:case"end":return t.stop()}}),t)})))),3),b=y[0],w=y[1],x=y[2],S=u(mt(pt(dt().mark((function t(){var n,i;return dt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ir.getGamesListBySearch(e.query,h,v);case 2:n=t.sent,a([].concat(d(r),d(n.data.results))),i=n.data.count,f(Cu(i,h));case 6:case"end":return t.stop()}}),t)})))),3),_=S[0],k=(S[1],S[2],(0,t.useRef)());return vt(k,v<c,w,(function(){setTimeout((function(){g(v+1)}),500)})),(0,t.useEffect)((function(){b(),g(1)}),[e.query]),(0,t.useEffect)((function(){_()}),[v]),console.log(r),(0,tt.jsx)("div",{className:"page search-page",children:(0,tt.jsxs)("div",{className:"container",children:[(0,tt.jsxs)("div",{className:"section-header",children:[""===e.query?(0,tt.jsx)("h2",{className:"section-title",children:"Search"}):(0,tt.jsxs)("h2",{className:"section-title",children:['Search by "',e.query,'"']}),(0,tt.jsxs)("div",{className:"page__control-display",children:[(0,tt.jsx)("div",{className:"page__control-display__title",children:"Display options:"}),(0,tt.jsxs)("div",{className:"page__control-display__items",children:[(0,tt.jsx)("button",{onClick:function(){return s("column")},className:"column"===o?"page__control-display__option display-column display-active":"page__control-display__option display-column"}),(0,tt.jsx)("button",{onClick:function(){return s("list")},className:"list"===o?"page__control-display__option display-list display-active":"page__control-display__option display-list"})]})]})]}),(0,tt.jsxs)("div",{className:"search-page__wrapper",children:[(0,tt.jsx)(yr,{gamesList:r,page:v,totalPages:c,limit:h,displayMode:o}),x&&(0,tt.jsx)(Tu,{}),(0,tt.jsx)("div",{ref:k,className:"observer"}),v<c||w?(0,tt.jsx)(bu,{}):null]})]})})},af=function(){var e=(0,t.useContext)(nt).searchFormData;return(0,tt.jsx)("div",{children:(0,tt.jsxs)(ze,{basename:"/react-games.github.io",children:[nf.map((function(e){return(0,tt.jsx)(Ae,{path:e.path,element:e.element},e.path)})),(0,tt.jsx)(Ae,{path:"/search",element:(0,tt.jsx)(rf,{searchQuery:e.query})}),(0,tt.jsx)(Ae,{path:"*",element:(0,tt.jsx)(Re,{to:"/"})})]})})};var of=function(){var e=u((0,t.useState)({query:""}),2),n=e[0],r=e[1];return(0,tt.jsx)(Ge,{children:(0,tt.jsx)(nt.Provider,{value:{searchFormData:n,setSearchFormData:r},children:(0,tt.jsxs)("div",{className:"App",children:[(0,tt.jsx)(it,{}),(0,tt.jsx)(af,{}),(0,tt.jsx)(ot,{})]})})})};a.createRoot(document.getElementById("root")).render((0,tt.jsx)(of,{}))}()}(); +//# sourceMappingURL=main.fb972fea.js.map \ No newline at end of file diff --git a/static/js/main.fb972fea.js.LICENSE.txt b/static/js/main.fb972fea.js.LICENSE.txt new file mode 100644 index 0000000..4c00e8e --- /dev/null +++ b/static/js/main.fb972fea.js.LICENSE.txt @@ -0,0 +1,94 @@ +/*! @license DOMPurify 3.0.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.1/LICENSE */ + +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ + +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * @remix-run/router v1.3.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */ + +/** + * React Router DOM v6.8.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */ + +/** + * React Router v6.8.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/static/js/main.fb972fea.js.map b/static/js/main.fb972fea.js.map new file mode 100644 index 0000000..4d3fad4 --- /dev/null +++ b/static/js/main.fb972fea.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/main.fb972fea.js","mappings":"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,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAIWiF,EAAMjF,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,UAGWkF,EAAalF,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAOWmF,EAAgBnF,EAAO,CAClC,UACA,gBACA,SACA,UACA,eACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,QAGWoF,EAASpF,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,eAKWqF,EAAmBrF,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,SAGWsF,EAAOtF,EAAO,CAAC,UCpRfuF,EAAOvF,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,QACA,SAGWwF,EAAMxF,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGWyF,EAASzF,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,UAGW0F,EAAM1F,EAAO,CACxB,aACA,SACA,cACA,YACA,gBCrWW2F,EAAgB1F,EAAK,6BACrB2F,GAAW3F,EAAK,yBAChB4F,GAAc5F,EAAK,iBACnB6F,GAAY7F,EAAK,8BACjB8F,GAAY9F,EAAK,kBACjB+F,GAAiB/F,EAC5B,yFAEWgG,GAAoBhG,EAAK,yBACzBiG,GAAkBjG,EAC7B,+DAEWkG,GAAelG,EAAK,WCO3BmG,GAAY,iBAAyB,qBAAXC,OAAyB,KAAOA,MAA9C,EAUZC,GAA4B,SAAUC,EAAcC,GAEtD,GAAwB,WAAxBC,EAAOF,IAC8B,oBAA9BA,EAAaG,aAEpB,OAAO,KAML,IAAAC,EAAS,KACPC,EAAY,wBAEhBJ,EAASK,eACTL,EAASK,cAAcC,aAAaF,KAEpCD,EAASH,EAASK,cAAcE,aAAaH,IAGzC,IAAAI,EAAa,aAAeL,EAAS,IAAMA,EAAS,IAEtD,IACF,OAAOJ,EAAaG,aAAaM,EAAY,CAC3CC,WAAW,SAAA1B,GACT,OAAOA,CACR,EACD2B,gBAAgB,SAAAC,GACd,OAAOA,CACR,GAEJ,CAAC,MAAOC,GAOP,OAHAtC,QAAQC,KACN,uBAAyBiC,EAAa,0BAEjC,IACR,CACF,EAED,SAASK,KAAgB,IAAAhB,EAASxD,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAAuD,KAC1BmB,EAAY,SAACC,GAAS,OAAAH,GAAgBG,EAA1B,EAclB,GARAD,EAAUE,QAAU,QAMpBF,EAAUG,QAAU,IAEfrB,IAAWA,EAAOG,UAAyC,IAA7BH,EAAOG,SAASmB,SAKjD,OAFAJ,EAAUK,aAAc,EAEjBL,EAGT,IAAMM,EAAmBxB,EAAOG,SAE1BA,EAAaH,EAAbG,SAEJsB,EASEzB,EATFyB,iBACAC,EAQE1B,EARF0B,oBACAC,EAOE3B,EAPF2B,KACAC,EAME5B,EANF4B,QACAC,EAKE7B,EALF6B,WAKEC,EAAA9B,EAJF+B,aAAAA,OANF,IAAAD,EAMiB9B,EAAO+B,cAAgB/B,EAAOgC,gBAN/CF,EAOEG,EAGEjC,EAHFiC,gBACAC,EAEElC,EAFFkC,UACAhC,EACEF,EADFE,aAGIiC,EAAmBP,EAAQhH,UAE3BwH,EAAYhE,EAAa+D,EAAkB,aAC3CE,EAAiBjE,EAAa+D,EAAkB,eAChDG,EAAgBlE,EAAa+D,EAAkB,cAC/CI,EAAgBnE,EAAa+D,EAAkB,cAQrD,GAAmC,oBAAxBT,EAAoC,CAC7C,IAAMc,EAAWrC,EAASsC,cAAc,YACpCD,EAASE,SAAWF,EAASE,QAAQC,gBACvCxC,EAAWqC,EAASE,QAAQC,cAE/B,CAED,IAAMC,EAAqB3C,GACzBC,EACAsB,GAEIqB,EAAYD,EAAqBA,EAAmBhC,WAAW,IAAM,GAE3EkC,EAKI3C,EAJF4C,EADFD,EACEC,eACAC,GAFFF,EAEEE,mBACAC,GAHFH,EAGEG,uBACAC,GAJFJ,EAIEI,qBAEMC,GAAe3B,EAAf2B,WAEJC,GAAQ,CAAC,EAKblC,EAAUK,YACW,oBAAZlI,GACkB,oBAAlBkJ,GACPQ,GAC6C,qBAAtCA,EAAeM,mBAExB,IA4NIC,GAGAtG,GA9NFuG,GAOEjE,EANFkE,GAMEjE,GALFkE,GAKEjE,GAJFkE,GAIEjE,GAHFkE,GAGEjE,GAFFkE,GAEEhE,GADFiE,GACEhE,GAEEiE,GAAmBnE,GAQrBoE,GAAe,KACbC,GAAuBnH,EAAS,CAAC,EAAF,GAAAoH,OAAAzJ,EAChCmE,GADgCnE,EAEhCoE,GACApE,EAAAqE,GACArE,EAAAuE,GACAvE,EAAAyE,KAIDiF,GAAe,KACbC,GAAuBtH,EAAS,CAAC,EAClC,GAAAoH,OAAAzJ,EAAA0E,GADgC1E,EAEhC2E,GAFgC3E,EAGhC4E,GACA5E,EAAA6E,KASD+E,GAA0B9K,OAAOM,KACnCN,OAAOO,OAAO,KAAM,CAClBwK,aAAc,CACZC,UAAU,EACVC,cAAc,EACdC,YAAY,EACZzG,MAAO,MAET0G,mBAAoB,CAClBH,UAAU,EACVC,cAAc,EACdC,YAAY,EACZzG,MAAO,MAET2G,+BAAgC,CAC9BJ,UAAU,EACVC,cAAc,EACdC,YAAY,EACZzG,OAAO,MAMT4G,GAAc,KAGdC,GAAc,KAGdC,IAAkB,EAGlBC,IAAkB,EAGlBC,IAA0B,EAI1BC,IAA2B,EAK3BC,IAAqB,EAGrBC,IAAiB,EAGjBC,IAAa,EAIbC,IAAa,EAMbC,IAAa,EAIbC,IAAsB,EAItBC,IAAsB,EAKtBC,IAAe,EAefC,IAAuB,EACrBC,GAA8B,gBAGhCC,IAAe,EAIfC,IAAW,EAGXC,GAAe,CAAC,EAGhBC,GAAkB,KAChBC,GAA0BlJ,EAAS,CAAC,EAAG,CAC3C,iBACA,QACA,WACA,OACA,gBACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,QACA,UACA,WACA,WACA,YACA,SACA,QACA,MACA,WACA,QACA,QACA,QACA,QAIEmJ,GAAgB,KACdC,GAAwBpJ,EAAS,CAAC,EAAG,CACzC,QACA,QACA,MACA,SACA,QACA,UAIEqJ,GAAsB,KACpBC,GAA8BtJ,EAAS,CAAC,EAAG,CAC/C,MACA,QACA,MACA,KACA,QACA,OACA,UACA,cACA,OACA,UACA,QACA,QACA,QACA,UAGIuJ,GAAmB,qCACnBC,GAAgB,6BAChBC,GAAiB,+BAEnBC,GAAYD,GACZE,IAAiB,EAGjBC,GAAqB,KACnBC,GAA6B7J,EACjC,CAAC,EACD,CAACuJ,GAAkBC,GAAeC,IAClCjL,GAKIsL,GAA+B,CAAC,wBAAyB,aACzDC,GAA4B,YAI9BC,GAAS,KAKPC,GAAc3G,EAASsC,cAAc,QAErCsE,GAAoB,SAAUC,GAClC,OAAOA,aAAqBhL,QAAUgL,aAAqBC,QAC5D,EAQKC,GAAe,SAAUC,GACzBN,IAAUA,KAAWM,IAKpBA,GAAsB,WAAf/G,EAAO+G,KACjBA,EAAM,CAAC,GAITA,EAAM/J,EAAM+J,GAEZ7D,GAGOA,IAD4D,IAAjEqD,GAA6B/K,QAAQuL,EAAI7D,mBAChBsD,GACAO,EAAI7D,kBAG/BtG,GACwB,0BAAtBsG,GACIjI,EACAH,EAGN6I,GACE,iBAAkBoD,EACdtK,EAAS,CAAC,EAAGsK,EAAIpD,aAAc/G,IAC/BgH,GACNE,GACE,iBAAkBiD,EACdtK,EAAS,CAAC,EAAGsK,EAAIjD,aAAclH,IAC/BmH,GACNsC,GACE,uBAAwBU,EACpBtK,EAAS,CAAC,EAAGsK,EAAIV,mBAAoBpL,GACrCqL,GACNR,GACE,sBAAuBiB,EACnBtK,EACEO,EAAM+I,IACNgB,EAAIC,kBACJpK,IAEFmJ,GACNH,GACE,sBAAuBmB,EACnBtK,EACEO,EAAM6I,IACNkB,EAAIE,kBACJrK,IAEFiJ,GACNH,GACE,oBAAqBqB,EACjBtK,EAAS,CAAC,EAAGsK,EAAIrB,gBAAiB9I,IAClC+I,GACNpB,GACE,gBAAiBwC,EACbtK,EAAS,CAAC,EAAGsK,EAAIxC,YAAa3H,IAC9B,CAAC,EACP4H,GACE,gBAAiBuC,EACbtK,EAAS,CAAC,EAAGsK,EAAIvC,YAAa5H,IAC9B,CAAC,EACP6I,GAAe,iBAAkBsB,GAAMA,EAAItB,aAC3ChB,IAA0C,IAAxBsC,EAAItC,gBACtBC,IAA0C,IAAxBqC,EAAIrC,gBACtBC,GAA0BoC,EAAIpC,0BAA2B,EACzDC,IAA4D,IAAjCmC,EAAInC,yBAC/BC,GAAqBkC,EAAIlC,qBAAsB,EAC/CC,GAAiBiC,EAAIjC,iBAAkB,EACvCG,GAAa8B,EAAI9B,aAAc,EAC/BC,GAAsB6B,EAAI7B,sBAAuB,EACjDC,GAAsB4B,EAAI5B,sBAAuB,EACjDH,GAAa+B,EAAI/B,aAAc,EAC/BI,IAAoC,IAArB2B,EAAI3B,aACnBC,GAAuB0B,EAAI1B,uBAAwB,EACnDE,IAAoC,IAArBwB,EAAIxB,aACnBC,GAAWuB,EAAIvB,WAAY,EAC3B9B,GAAiBqD,EAAIG,oBAAsBxD,GAC3CyC,GAAYY,EAAIZ,WAAaD,GAC7BlC,GAA0B+C,EAAI/C,yBAA2B,CAAC,EAExD+C,EAAI/C,yBACJ2C,GAAkBI,EAAI/C,wBAAwBC,gBAE9CD,GAAwBC,aACtB8C,EAAI/C,wBAAwBC,cAI9B8C,EAAI/C,yBACJ2C,GAAkBI,EAAI/C,wBAAwBK,sBAE9CL,GAAwBK,mBACtB0C,EAAI/C,wBAAwBK,oBAI9B0C,EAAI/C,yBAEF,mBADK+C,EAAI/C,wBAAwBM,iCAGnCN,GAAwBM,+BACtByC,EAAI/C,wBAAwBM,gCAG5BO,KACFH,IAAkB,GAGhBQ,KACFD,IAAa,GAIXQ,KACF9B,GAAelH,EAAS,CAAC,EAAOrC,EAAAyE,IAChCiF,GAAe,IACW,IAAtB2B,GAAa3G,OACfrC,EAASkH,GAAcpF,GACvB9B,EAASqH,GAAchF,KAGA,IAArB2G,GAAa1G,MACftC,EAASkH,GAAcnF,GACvB/B,EAASqH,GAAc/E,GACvBtC,EAASqH,GAAc7E,KAGO,IAA5BwG,GAAahH,aACfhC,EAASkH,GAAclF,GACvBhC,EAASqH,GAAc/E,GACvBtC,EAASqH,GAAc7E,KAGG,IAAxBwG,GAAazG,SACfvC,EAASkH,GAAchF,GACvBlC,EAASqH,GAAc9E,GACvBvC,EAASqH,GAAc7E,KAKvB8H,EAAII,WACFxD,KAAiBC,KACnBD,GAAe3G,EAAM2G,KAGvBlH,EAASkH,GAAcoD,EAAII,SAAUvK,KAGnCmK,EAAIK,WACFtD,KAAiBC,KACnBD,GAAe9G,EAAM8G,KAGvBrH,EAASqH,GAAciD,EAAIK,SAAUxK,KAGnCmK,EAAIC,mBACNvK,EAASqJ,GAAqBiB,EAAIC,kBAAmBpK,IAGnDmK,EAAIrB,kBACFA,KAAoBC,KACtBD,GAAkB1I,EAAM0I,KAG1BjJ,EAASiJ,GAAiBqB,EAAIrB,gBAAiB9I,KAI7C2I,KACF5B,GAAa,UAAW,GAItBmB,IACFrI,EAASkH,GAAc,CAAC,OAAQ,OAAQ,SAItCA,GAAa0D,QACf5K,EAASkH,GAAc,CAAC,iBACjBY,GAAY+C,OAKjB/N,GACFA,EAAOwN,GAGTN,GAASM,EACV,EAEKQ,GAAiC9K,EAAS,CAAC,EAAG,CAClD,KACA,KACA,KACA,KACA,UAGI+K,GAA0B/K,EAAS,CAAC,EAAG,CAC3C,gBACA,OACA,QACA,mBAOIgL,GAA+BhL,EAAS,CAAC,EAAG,CAChD,QACA,QACA,OACA,IACA,WAMIiL,GAAejL,EAAS,CAAC,EAAG+B,GAClC/B,EAASiL,GAAcjJ,GACvBhC,EAASiL,GAAchJ,GAEjB,IAAAiJ,GAAkBlL,EAAS,CAAC,EAAGkC,GACrClC,EAASkL,GAAiB/I,GAU1B,IAAMgJ,GAAuB,SAAU9K,GACrC,IAAI+K,EAAS1F,EAAcrF,GAItB+K,GAAWA,EAAOC,UACrBD,EAAS,CACPE,aAAc5B,GACd2B,QAAS,aAIb,IAAMA,EAAUhN,EAAkBgC,EAAQgL,SACpCE,EAAgBlN,EAAkB+M,EAAOC,SAE/C,QAAKzB,GAAmBvJ,EAAQiL,gBAI5BjL,EAAQiL,eAAiB9B,GAIvB4B,EAAOE,eAAiB7B,GACP,QAAZ4B,EAMLD,EAAOE,eAAiB/B,GAEZ,QAAZ8B,IACmB,mBAAlBE,GACCT,GAA+BS,IAM9BC,QAAQP,GAAaI,IAG1BhL,EAAQiL,eAAiB/B,GAIvB6B,EAAOE,eAAiB7B,GACP,SAAZ4B,EAKLD,EAAOE,eAAiB9B,GACP,SAAZ6B,GAAsBN,GAAwBQ,GAKhDC,QAAQN,GAAgBG,IAG7BhL,EAAQiL,eAAiB7B,KAKzB2B,EAAOE,eAAiB9B,KACvBuB,GAAwBQ,OAMzBH,EAAOE,eAAiB/B,KACvBuB,GAA+BS,MAQ/BL,GAAgBG,KAChBL,GAA6BK,KAAaJ,GAAaI,MAMpC,0BAAtB5E,KACAmD,GAAmBvJ,EAAQiL,eAU9B,EAOKG,GAAe,SAAUC,GAC7BvN,EAAUkG,EAAUG,QAAS,CAAEnE,QAASqL,IACpC,IAEFA,EAAKC,WAAWC,YAAYF,EAC7B,CAAC,MAAOxH,GACPwH,EAAKG,QACN,CACF,EAQKC,GAAmB,SAAUC,EAAML,GACnC,IACFvN,EAAUkG,EAAUG,QAAS,CAC3BwH,UAAWN,EAAKO,iBAAiBF,GACjCG,KAAMR,GAET,CAAC,MAAOxH,GACP/F,EAAUkG,EAAUG,QAAS,CAC3BwH,UAAW,KACXE,KAAMR,GAET,CAKG,GAHJA,EAAKS,gBAAgBJ,GAGR,OAATA,IAAkB1E,GAAa0E,GAC7B,GAAAvD,IAAcC,GACZ,IACFgD,GAAaC,EACd,CAAC,MAAOxH,GAAI,MAET,IACFwH,EAAKU,aAAaL,EAAM,GACzB,CAAC,MAAO7H,GAAI,CAGlB,EAQKmI,GAAgB,SAAUC,GAE9B,IAAIC,EACAC,EAEJ,GAAIjE,GACF+D,EAAQ,oBAAsBA,MACzB,CAEL,IAAMG,EAAU/N,EAAY4N,EAAO,eACnCE,EAAoBC,GAAWA,EAAQ,EACxC,CAGuB,0BAAtBhG,IACAiD,KAAcD,KAGd6C,EACE,iEACAA,EACA,kBAGE,IAAAI,EAAe3G,EACjBA,EAAmBhC,WAAWuI,GAC9BA,EAKA,GAAA5C,KAAcD,GACZ,IACF8C,GAAM,IAAIlH,GAAYsH,gBAAgBD,EAAcjG,GACrD,CAAC,MAAOvC,GAAI,CAIf,IAAKqI,IAAQA,EAAIK,gBAAiB,CAChCL,EAAMrG,EAAe2G,eAAenD,GAAW,WAAY,MACvD,IACF6C,EAAIK,gBAAgBE,UAAYnD,GAC5B3D,EACA0G,CACL,CAAC,MAAOxI,GAAG,CAGb,CAEK,IAAA6I,EAAOR,EAAIQ,MAAQR,EAAIK,gBAUzB,OARAN,GAASE,GACXO,EAAKC,aACH1J,EAAS2J,eAAeT,GACxBO,EAAKG,WAAW,IAAM,MAKtBxD,KAAcD,GACTpD,GAAqB8G,KAC1BZ,EACAlE,GAAiB,OAAS,QAC1B,GAGGA,GAAiBkE,EAAIK,gBAAkBG,CAC/C,EAQKK,GAAkB,SAAU9I,GACzB,OAAA6B,GAAmBgH,KACxB7I,EAAKwB,eAAiBxB,EACtBA,EAEAU,EAAWqI,aAAerI,EAAWsI,aAAetI,EAAWuI,UAC/D,MACA,EAEH,EAQKC,GAAe,SAAUC,GAC7B,OACEA,aAAerI,IACU,kBAAjBqI,EAAIC,UACiB,kBAApBD,EAAIE,aACgB,oBAApBF,EAAI7B,eACT6B,EAAIG,sBAAsB1I,IACG,oBAAxBuI,EAAItB,iBACiB,oBAArBsB,EAAIrB,cACiB,kBAArBqB,EAAInC,cACiB,oBAArBmC,EAAIT,cACkB,oBAAtBS,EAAII,cAEhB,EAQKC,GAAU,SAAUtN,GACxB,MAAuB,WAAhB+C,EAAOuB,GACVtE,aAAkBsE,EAClBtE,GACoB,WAAlB+C,EAAO/C,IACoB,kBAApBA,EAAOiE,UACa,kBAApBjE,EAAOkN,QACrB,EAUKK,GAAe,SAAUC,EAAYC,EAAaC,GACjD3H,GAAMyH,IAIXpQ,EAAa2I,GAAMyH,IAAa,SAACG,GAC/BA,EAAKhB,KAAK9I,EAAW4J,EAAaC,EAAMlE,GACzC,GACF,EAYKoE,GAAoB,SAAUH,GAClC,IAAIpI,EAMJ,GAHAkI,GAAa,yBAA0BE,EAAa,MAGhDT,GAAaS,GAEf,OADAxC,GAAawC,IACN,EAIT,IAAM5C,EAAUlL,GAAkB8N,EAAYP,UAU5C,GAPFK,GAAa,sBAAuBE,EAAa,CAC/C5C,QAAAA,EACAgD,YAAanH,KAKb+G,EAAYJ,kBACXC,GAAQG,EAAYK,sBACnBR,GAAQG,EAAYpI,WACnBiI,GAAQG,EAAYpI,QAAQyI,qBAC/BpP,EAAW,UAAW+O,EAAYnB,YAClC5N,EAAW,UAAW+O,EAAYN,aAGlC,OADAlC,GAAawC,IACN,EAIL,IAAC/G,GAAamE,IAAYvD,GAAYuD,GAAU,CAE9C,IAACvD,GAAYuD,IAAYkD,GAAwBlD,GAAU,CAC7D,GACE9D,GAAwBC,wBAAwBrI,QAChDD,EAAWqI,GAAwBC,aAAc6D,GAEjD,OAAO,EACT,GACE9D,GAAwBC,wBAAwB4C,UAChD7C,GAAwBC,aAAa6D,GAErC,OAAO,CACV,CAGD,GAAIvC,KAAiBG,GAAgBoC,GAAU,CACvC,IAAAM,EAAajG,EAAcuI,IAAgBA,EAAYtC,WACvDuB,EAAazH,EAAcwI,IAAgBA,EAAYf,WAEzD,GAAAA,GAAcvB,EAGhB,IAFA,IAES6C,EAFUtB,EAAWtN,OAEJ,EAAG4O,GAAK,IAAKA,EACrC7C,EAAWqB,aACTzH,EAAU2H,EAAWsB,IAAI,GACzBhJ,EAAeyI,GAItB,CAGD,OADAxC,GAAawC,IACN,CACR,CAGG,OAAAA,aAAuBlJ,IAAYoG,GAAqB8C,IAC1DxC,GAAawC,IACN,GAKM,aAAZ5C,GAAsC,YAAZA,IAC3BnM,EAAW,uBAAwB+O,EAAYnB,YAO7C1E,IAA+C,IAAzB6F,EAAYxJ,WAEpCoB,EAAUoI,EAAYN,YACtB9H,EAAUjH,EAAciH,EAASa,GAAe,KAChDb,EAAUjH,EAAciH,EAASc,GAAU,KAC3Cd,EAAUjH,EAAciH,EAASe,GAAa,KAC1CqH,EAAYN,cAAgB9H,IAC9B1H,EAAUkG,EAAUG,QAAS,CAAEnE,QAAS4N,EAAY1I,cACpD0I,EAAYN,YAAc9H,IAK9BkI,GAAa,wBAAyBE,EAAa,OAE5C,IApBLxC,GAAawC,IACN,EAoBV,EAWKQ,GAAoB,SAAUC,EAAOC,EAAQzN,GAEjD,GACEyH,KACY,OAAXgG,GAA8B,SAAXA,KACnBzN,KAASoC,GAAYpC,KAAS+I,IAE/B,OAAO,EAOT,GACEhC,KACCF,GAAY4G,IACbzP,EAAW2H,GAAW8H,SAGjB,GAAI3G,IAAmB9I,EAAW4H,GAAW6H,SAG7C,IAAKtH,GAAasH,IAAW5G,GAAY4G,IAE5C,KAGCJ,GAAwBG,KACrBnH,GAAwBC,wBAAwBrI,QAChDD,EAAWqI,GAAwBC,aAAckH,IAChDnH,GAAwBC,wBAAwB4C,UAC/C7C,GAAwBC,aAAakH,MACvCnH,GAAwBK,8BAA8BzI,QACtDD,EAAWqI,GAAwBK,mBAAoB+G,IACtDpH,GAAwBK,8BAA8BwC,UACrD7C,GAAwBK,mBAAmB+G,KAGrC,OAAXA,GACCpH,GAAwBM,iCACtBN,GAAwBC,wBAAwBrI,QAChDD,EAAWqI,GAAwBC,aAActG,IAChDqG,GAAwBC,wBAAwB4C,UAC/C7C,GAAwBC,aAAatG,KAK3C,OAAO,OAGJ,GAAImI,GAAoBsF,SAIxB,GACLzP,EAAW+H,GAAgBrI,EAAcsC,EAAO8F,GAAiB,WAK5D,GACO,QAAX2H,GAA+B,eAAXA,GAAsC,SAAXA,GACtC,WAAVD,GACkC,IAAlC5P,EAAcoC,EAAO,WACrBiI,GAAcuF,GAMT,GACLxG,KACChJ,EAAW6H,GAAmBnI,EAAcsC,EAAO8F,GAAiB,WAKhE,GAAK9F,EAIV,OAAO,EAGT,OAAO,CACR,EAQKqN,GAA0B,SAAUlD,GACxC,OAAOA,EAAQtM,QAAQ,KAAO,CAC/B,EAYK6P,GAAsB,SAAUX,GACpC,IAAIY,EACA3N,EACAyN,EACAvO,EAEJ2N,GAAa,2BAA4BE,EAAa,MAEtD,IAAQL,EAAeK,EAAfL,WAGJ,GAACA,EAAD,CAIJ,IAAMkB,EAAY,CAChBC,SAAU,GACVC,UAAW,GACXC,UAAU,EACVC,kBAAmB7H,IAKd,IAHPjH,EAAIwN,EAAWhO,OAGRQ,KAAK,CAEV,IAAA+O,EADAN,EAAOjB,EAAWxN,GACV2L,EAARoD,EAAQpD,KAAMT,EAAd6D,EAAc7D,aAYV,GAXJpK,EAAiB,UAAT6K,EAAmB8C,EAAK3N,MAAQlC,EAAW6P,EAAK3N,OACxDyN,EAASxO,GAAkB4L,GAG3B+C,EAAUC,SAAWJ,EACrBG,EAAUE,UAAY9N,EACtB4N,EAAUG,UAAW,EACrBH,EAAUM,mBAAgBhL,EAC1B2J,GAAa,wBAAyBE,EAAaa,GACnD5N,EAAQ4N,EAAUE,WAEdF,EAAUM,gBAKdtD,GAAiBC,EAAMkC,GAGlBa,EAAUG,UAKX,GAAC9G,KAA4BjJ,EAAW,OAAQgC,GAAhD,CAMAkH,KACFlH,EAAQtC,EAAcsC,EAAOwF,GAAe,KAC5CxF,EAAQtC,EAAcsC,EAAOyF,GAAU,KACvCzF,EAAQtC,EAAcsC,EAAO0F,GAAa,MAI5C,IAAM8H,EAAQvO,GAAkB8N,EAAYP,UACxC,GAACe,GAAkBC,EAAOC,EAAQzN,GAAlC,CAgBJ,IATI0H,IAAoC,OAAX+F,GAA8B,SAAXA,IAE9C7C,GAAiBC,EAAMkC,GAGvB/M,EAAQ2H,GAA8B3H,GAKtC6E,GACwB,WAAxBxC,EAAOF,IACkC,oBAAlCA,EAAagM,iBAEpB,GAAI/D,QAGF,OAAQjI,EAAagM,iBAAiBX,EAAOC,IAC3C,IAAK,cACHzN,EAAQ6E,EAAmBhC,WAAW7C,GACtC,MACF,IAAK,mBACHA,EAAQ6E,EAAmB/B,gBAAgB9C,GAS/C,IACEoK,EACF2C,EAAYqB,eAAehE,EAAcS,EAAM7K,GAG/C+M,EAAY7B,aAAaL,EAAM7K,GAGjCjD,EAASoG,EAAUG,QACpB,CAAC,MAAON,GAAI,CA7CZ,CAbA,MAFC4H,GAAiBC,EAAMkC,EA6D1B,CAGDF,GAAa,0BAA2BE,EAAa,KAvGpD,CAwGF,EAOKsB,GAAqB,SAArBA,EAA+BC,GACnC,IAAIC,EACEC,EAAiBtC,GAAgBoC,GAKvC,IAFAzB,GAAa,0BAA2ByB,EAAU,MAE1CC,EAAaC,EAAeC,YAElC5B,GAAa,yBAA0B0B,EAAY,MAG/CrB,GAAkBqB,KAKlBA,EAAW5J,mBAAmBjB,GAChC2K,EAAmBE,EAAW5J,SAIhC+I,GAAoBa,IAItB1B,GAAa,yBAA0ByB,EAAU,KAClD,EAqRD,OA3QAnL,EAAUuL,SAAW,SAAUtD,GAAO,IAChCS,EACA8C,EACA5B,EACA6B,EAJgCxF,EAAU3K,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAJ,CAAC,EAcvC,IANJgK,IAAkB2C,KAEhBA,EAAQ,eAIW,kBAAVA,IAAuBwB,GAAQxB,GAAQ,CAEhD,GAA8B,oBAAnBA,EAAM7N,SACT,MAAAY,EAAgB,8BAGtB,GAAqB,kBADrBiN,EAAQA,EAAM7N,YAEN,MAAAY,EAAgB,kCAG3B,CAGD,IAAKgF,EAAUK,YACb,OAAO4H,EAgBT,GAZKhE,IACH+B,GAAaC,GAIfjG,EAAUG,QAAU,GAGC,kBAAV8H,IACTvD,IAAW,GAGTA,IAEE,GAAAuD,EAAMoB,SAAU,CAClB,IAAMrC,EAAUlL,GAAkBmM,EAAMoB,UACpC,IAACxG,GAAamE,IAAYvD,GAAYuD,GAClC,MAAAhM,EACJ,0DAGL,OACI,GAAIiN,aAAiBxH,EAKI,KAD9B+K,GADA9C,EAAOV,GAAc,kBACDvG,cAAcQ,WAAWgG,GAAO,IACnC7H,UAA4C,SAA1BoL,EAAanC,UAGX,SAA1BmC,EAAanC,SADtBX,EAAO8C,EAKP9C,EAAKgD,YAAYF,OAEd,CAGH,IAACrH,KACAJ,KACAC,KAEuB,IAAxBiE,EAAMvN,QAAQ,KAEP,OAAAgH,GAAsB2C,GACzB3C,EAAmBhC,WAAWuI,GAC9BA,EAOF,KAHJS,EAAOV,GAAcC,IAIZ,OAAA9D,GAAa,KAAOE,GAAsB1C,EAAY,EAEhE,CAGG+G,GAAQxE,IACVkD,GAAasB,EAAKiD,YAOpB,IAHM,IAAAC,EAAe7C,GAAgBrE,GAAWuD,EAAQS,GAGhDkB,EAAcgC,EAAaN,YAE7BvB,GAAkBH,KAKlBA,EAAYpI,mBAAmBjB,GACjC2K,GAAmBtB,EAAYpI,SAIjC+I,GAAoBX,IAItB,GAAIlF,GACF,OAAOuD,EAIT,GAAI9D,GAAY,CACd,GAAIC,GAGK,IAFPqH,EAAa1J,GAAuB+G,KAAKJ,EAAKjH,eAEvCiH,EAAKiD,YAEVF,EAAWC,YAAYhD,EAAKiD,iBAG9BF,EAAa/C,EAcf,OAXI1F,GAAa6I,YAAc7I,GAAa8I,iBAQ1CL,EAAaxJ,GAAW6G,KAAKxI,EAAkBmL,GAAY,IAGtDA,CACR,CAEG,IAAAM,EAAiB/H,GAAiB0E,EAAKsD,UAAYtD,EAAKD,UAsBrD,OAlBLzE,IACAnB,GAAa,aACb6F,EAAKjH,eACLiH,EAAKjH,cAAcwK,SACnBvD,EAAKjH,cAAcwK,QAAQvE,MAC3B7M,EAAW+D,GAA0B8J,EAAKjH,cAAcwK,QAAQvE,QAEhEqE,EACE,aAAerD,EAAKjH,cAAcwK,QAAQvE,KAAO,MAAQqE,GAIzDhI,KACFgI,EAAiBxR,EAAcwR,EAAgB1J,GAAe,KAC9D0J,EAAiBxR,EAAcwR,EAAgBzJ,GAAU,KACzDyJ,EAAiBxR,EAAcwR,EAAgBxJ,GAAa,MAGvDb,GAAsB2C,GACzB3C,EAAmBhC,WAAWqM,GAC9BA,CACL,EAQD/L,EAAUkM,UAAY,SAAUjG,GAC9BD,GAAaC,GACbhC,IAAa,CACd,EAODjE,EAAUmM,YAAc,WACtBxG,GAAS,KACT1B,IAAa,CACd,EAYDjE,EAAUoM,iBAAmB,SAAUC,EAAK7B,EAAM3N,GAE3C8I,IACHK,GAAa,CAAC,GAGhB,IAAMqE,EAAQvO,GAAkBuQ,GAC1B/B,EAASxO,GAAkB0O,GACjC,OAAOJ,GAAkBC,EAAOC,EAAQzN,EACzC,EASDmD,EAAUsM,QAAU,SAAU3C,EAAY4C,GACZ,oBAAjBA,IAIXrK,GAAMyH,GAAczH,GAAMyH,IAAe,GACzC7P,EAAUoI,GAAMyH,GAAa4C,GAC9B,EAUDvM,EAAUwM,WAAa,SAAU7C,GAC/B,GAAIzH,GAAMyH,GACR,OAAO/P,EAASsI,GAAMyH,GAEzB,EAQD3J,EAAUyM,YAAc,SAAU9C,GAC5BzH,GAAMyH,KACRzH,GAAMyH,GAAc,GAEvB,EAOD3J,EAAU0M,eAAiB,WACzBxK,GAAQ,CAAC,CACV,EAEMlC,CACR,QAEcF,0CCrkDf,IAAI6M,EAAUC,EAAQ,KAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACXC,MAAM,GAEJC,EAAgB,CAClB/F,MAAM,EACNnM,QAAQ,EACR7B,WAAW,EACXgU,QAAQ,EACRC,QAAQ,EACRrS,WAAW,EACXsS,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTb,cAAc,EACdC,aAAa,EACbK,WAAW,EACXC,MAAM,GAEJO,EAAe,CAAC,EAIpB,SAASC,EAAWC,GAElB,OAAItB,EAAQuB,OAAOD,GACVJ,EAIFE,EAAaE,EAAoB,WAAMpB,CAChD,CAXAkB,EAAapB,EAAQwB,YAhBK,CACxB,UAAY,EACZC,QAAQ,EACRnB,cAAc,EACdC,aAAa,EACbK,WAAW,GAYbQ,EAAapB,EAAQ0B,MAAQR,EAY7B,IAAIS,EAAiBlW,OAAOkW,eACxBC,EAAsBnW,OAAOmW,oBAC7BC,EAAwBpW,OAAOoW,sBAC/BhW,EAA2BJ,OAAOI,yBAClCD,EAAiBH,OAAOG,eACxBkW,EAAkBrW,OAAOsB,UAsC7BgV,EAAOC,QArCP,SAASC,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIL,EAAiB,CACnB,IAAIO,EAAqBzW,EAAeuW,GAEpCE,GAAsBA,IAAuBP,GAC/CG,EAAqBC,EAAiBG,EAAoBD,EAE9D,CAEA,IAAIE,EAAOV,EAAoBO,GAE3BN,IACFS,EAAOA,EAAKlM,OAAOyL,EAAsBM,KAM3C,IAHA,IAAII,EAAgBlB,EAAWa,GAC3BM,EAAgBnB,EAAWc,GAEtB3E,EAAI,EAAGA,EAAI8E,EAAK1T,SAAU4O,EAAG,CACpC,IAAIiF,EAAMH,EAAK9E,GAEf,IAAKsD,EAAc2B,MAAUL,IAAaA,EAAUK,OAAWD,IAAiBA,EAAcC,OAAWF,IAAiBA,EAAcE,IAAO,CAC7I,IAAIC,EAAa7W,EAAyBsW,EAAiBM,GAE3D,IAEEd,EAAeO,EAAiBO,EAAKC,EACvC,CAAE,MAAOrS,GAAI,CACf,CACF,CACF,CAEA,OAAO6R,CACT,kCC3Fa,IAAIS,EAAE,oBAAoBC,QAAQA,OAAOC,IAAIC,EAAEH,EAAEC,OAAOC,IAAI,iBAAiB,MAAME,EAAEJ,EAAEC,OAAOC,IAAI,gBAAgB,MAAMxS,EAAEsS,EAAEC,OAAOC,IAAI,kBAAkB,MAAMvS,EAAEqS,EAAEC,OAAOC,IAAI,qBAAqB,MAAMG,EAAEL,EAAEC,OAAOC,IAAI,kBAAkB,MAAMI,EAAEN,EAAEC,OAAOC,IAAI,kBAAkB,MAAMK,EAAEP,EAAEC,OAAOC,IAAI,iBAAiB,MAAMzT,EAAEuT,EAAEC,OAAOC,IAAI,oBAAoB,MAAMM,EAAER,EAAEC,OAAOC,IAAI,yBAAyB,MAAM/S,EAAE6S,EAAEC,OAAOC,IAAI,qBAAqB,MAAMO,EAAET,EAAEC,OAAOC,IAAI,kBAAkB,MAAMQ,EAAEV,EACpfC,OAAOC,IAAI,uBAAuB,MAAMS,EAAEX,EAAEC,OAAOC,IAAI,cAAc,MAAMU,EAAEZ,EAAEC,OAAOC,IAAI,cAAc,MAAMW,EAAEb,EAAEC,OAAOC,IAAI,eAAe,MAAMY,EAAEd,EAAEC,OAAOC,IAAI,qBAAqB,MAAMrW,EAAEmW,EAAEC,OAAOC,IAAI,mBAAmB,MAAMa,EAAEf,EAAEC,OAAOC,IAAI,eAAe,MAClQ,SAASc,EAAEC,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIC,EAAED,EAAEE,SAAS,OAAOD,GAAG,KAAKf,EAAE,OAAOc,EAAEA,EAAE/C,MAAQ,KAAKzR,EAAE,KAAK+T,EAAE,KAAK9S,EAAE,KAAK2S,EAAE,KAAK1S,EAAE,KAAK8S,EAAE,OAAOQ,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEE,UAAY,KAAKZ,EAAE,KAAKpT,EAAE,KAAKyT,EAAE,KAAKD,EAAE,KAAKL,EAAE,OAAOW,EAAE,QAAQ,OAAOC,GAAG,KAAKd,EAAE,OAAOc,EAAE,CAAC,CAAC,SAASE,EAAEH,GAAG,OAAOD,EAAEC,KAAKT,CAAC,CAACnB,EAAQgC,UAAU5U,EAAE4S,EAAQiC,eAAed,EAAEnB,EAAQkC,gBAAgBhB,EAAElB,EAAQmC,gBAAgBlB,EAAEjB,EAAQjO,QAAQ+O,EAAEd,EAAQR,WAAW1R,EAAEkS,EAAQoC,SAAS/T,EAAE2R,EAAQqC,KAAKd,EAAEvB,EAAQN,KAAK4B,EAAEtB,EAAQsC,OAAOvB,EAChff,EAAQuC,SAASvB,EAAEhB,EAAQwC,WAAWlU,EAAE0R,EAAQyC,SAASrB,EAAEpB,EAAQ0C,YAAY,SAASd,GAAG,OAAOG,EAAEH,IAAID,EAAEC,KAAKxU,CAAC,EAAE4S,EAAQ2C,iBAAiBZ,EAAE/B,EAAQ4C,kBAAkB,SAAShB,GAAG,OAAOD,EAAEC,KAAKV,CAAC,EAAElB,EAAQ6C,kBAAkB,SAASjB,GAAG,OAAOD,EAAEC,KAAKX,CAAC,EAAEjB,EAAQ8C,UAAU,SAASlB,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEE,WAAWhB,CAAC,EAAEd,EAAQ+C,aAAa,SAASnB,GAAG,OAAOD,EAAEC,KAAK9T,CAAC,EAAEkS,EAAQgD,WAAW,SAASpB,GAAG,OAAOD,EAAEC,KAAKvT,CAAC,EAAE2R,EAAQiD,OAAO,SAASrB,GAAG,OAAOD,EAAEC,KAAKL,CAAC,EAC1dvB,EAAQT,OAAO,SAASqC,GAAG,OAAOD,EAAEC,KAAKN,CAAC,EAAEtB,EAAQkD,SAAS,SAAStB,GAAG,OAAOD,EAAEC,KAAKb,CAAC,EAAEf,EAAQmD,WAAW,SAASvB,GAAG,OAAOD,EAAEC,KAAKZ,CAAC,EAAEhB,EAAQoD,aAAa,SAASxB,GAAG,OAAOD,EAAEC,KAAKtT,CAAC,EAAE0R,EAAQqD,WAAW,SAASzB,GAAG,OAAOD,EAAEC,KAAKR,CAAC,EAC1OpB,EAAQsD,mBAAmB,SAAS1B,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIvT,GAAGuT,IAAIT,GAAGS,IAAIZ,GAAGY,IAAItT,GAAGsT,IAAIR,GAAGQ,IAAIP,GAAG,kBAAkBO,GAAG,OAAOA,IAAIA,EAAEE,WAAWP,GAAGK,EAAEE,WAAWR,GAAGM,EAAEE,WAAWb,GAAGW,EAAEE,WAAWZ,GAAGU,EAAEE,WAAWhU,GAAG8T,EAAEE,WAAWL,GAAGG,EAAEE,WAAWtX,GAAGoX,EAAEE,WAAWJ,GAAGE,EAAEE,WAAWN,EAAE,EAAExB,EAAQuD,OAAO5B,oCCXjU5B,EAAOC,QAAU,EAAjBD,uCCSW,IAAIyD,EAAGvF,EAAQ,KAASwF,EAAGxF,EAAQ,KAAa,SAASmD,EAAEQ,GAAG,IAAI,IAAIjB,EAAE,yDAAyDiB,EAAEd,EAAE,EAAEA,EAAEnU,UAAUC,OAAOkU,IAAIH,GAAG,WAAW+C,mBAAmB/W,UAAUmU,IAAI,MAAM,yBAAyBc,EAAE,WAAWjB,EAAE,gHAAgH,CAAC,IAAIgD,EAAG,IAAIC,IAAIC,EAAG,CAAC,EAAE,SAASC,EAAGlC,EAAEjB,GAAGoD,EAAGnC,EAAEjB,GAAGoD,EAAGnC,EAAE,UAAUjB,EAAE,CACxb,SAASoD,EAAGnC,EAAEjB,GAAW,IAARkD,EAAGjC,GAAGjB,EAAMiB,EAAE,EAAEA,EAAEjB,EAAE/T,OAAOgV,IAAI+B,EAAGK,IAAIrD,EAAEiB,GAAG,CAC5D,IAAIqC,IAAK,qBAAqB9T,QAAQ,qBAAqBA,OAAOG,UAAU,qBAAqBH,OAAOG,SAASsC,eAAesR,EAAGza,OAAOsB,UAAUoZ,eAAeC,EAAG,8VAA8VC,EACpgB,CAAC,EAAEC,EAAG,CAAC,EACiN,SAAS9C,EAAEI,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,GAAGuD,KAAKC,gBAAgB,IAAI7D,GAAG,IAAIA,GAAG,IAAIA,EAAE4D,KAAKE,cAAc1D,EAAEwD,KAAKG,mBAAmBrW,EAAEkW,KAAKI,gBAAgB7D,EAAEyD,KAAKK,aAAahD,EAAE2C,KAAK1F,KAAK8B,EAAE4D,KAAKM,YAAYvW,EAAEiW,KAAKO,kBAAkB9D,CAAC,CAAC,IAAIW,EAAE,CAAC,EACpb,uIAAuIoD,MAAM,KAAK/Z,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAe5W,SAAQ,SAAS4W,GAAG,IAAIjB,EAAEiB,EAAE,GAAGD,EAAEhB,GAAG,IAAIa,EAAEb,EAAE,GAAE,EAAGiB,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAAS5W,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAErW,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiBP,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8OmD,MAAM,KAAK/Z,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAErW,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAYP,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAY5W,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQ5W,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAAS5W,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAErW,cAAc,MAAK,GAAG,EAAG,IAAG,IAAIyZ,EAAG,gBAAgB,SAASC,EAAGrD,GAAG,OAAOA,EAAE,GAAGsD,aAAa,CAIxZ,SAASC,EAAGvD,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEsT,EAAEwC,eAAexD,GAAGgB,EAAEhB,GAAG,MAAQ,OAAOtS,EAAE,IAAIA,EAAEwQ,KAAKkC,KAAK,EAAEJ,EAAE/T,SAAS,MAAM+T,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,MAP9I,SAAYiB,EAAEjB,EAAEG,EAAEC,GAAG,GAAG,OAAOJ,GAAG,qBAAqBA,GADqE,SAAYiB,EAAEjB,EAAEG,EAAEC,GAAG,GAAG,OAAOD,GAAG,IAAIA,EAAEjC,KAAK,OAAM,EAAG,cAAc8B,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGI,IAAc,OAAOD,GAASA,EAAE0D,gBAAmD,WAAnC5C,EAAEA,EAAErW,cAAc6Z,MAAM,EAAE,KAAsB,UAAUxD,GAAE,QAAQ,OAAM,EAAG,CAC/TyD,CAAGzD,EAAEjB,EAAEG,EAAEC,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOD,EAAE,OAAOA,EAAEjC,MAAM,KAAK,EAAE,OAAO8B,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAO2E,MAAM3E,GAAG,KAAK,EAAE,OAAO2E,MAAM3E,IAAI,EAAEA,EAAE,OAAM,CAAE,CAOtE4E,CAAG5E,EAAEG,EAAEzS,EAAE0S,KAAKD,EAAE,MAAMC,GAAG,OAAO1S,EARxK,SAAYuT,GAAG,QAAGsC,EAAG/J,KAAKmK,EAAG1C,KAAesC,EAAG/J,KAAKkK,EAAGzC,KAAewC,EAAGhY,KAAKwV,GAAU0C,EAAG1C,IAAG,GAAGyC,EAAGzC,IAAG,GAAS,GAAE,CAQwD4D,CAAG7E,KAAK,OAAOG,EAAEc,EAAEzI,gBAAgBwH,GAAGiB,EAAExI,aAAauH,EAAE,GAAGG,IAAIzS,EAAEsW,gBAAgB/C,EAAEvT,EAAEuW,cAAc,OAAO9D,EAAE,IAAIzS,EAAEwQ,MAAQ,GAAGiC,GAAGH,EAAEtS,EAAEoW,cAAc1D,EAAE1S,EAAEqW,mBAAmB,OAAO5D,EAAEc,EAAEzI,gBAAgBwH,IAAaG,EAAE,KAAXzS,EAAEA,EAAEwQ,OAAc,IAAIxQ,IAAG,IAAKyS,EAAE,GAAG,GAAGA,EAAEC,EAAEa,EAAEtF,eAAeyE,EAAEJ,EAAEG,GAAGc,EAAExI,aAAauH,EAAEG,KAAI,CAHjd,0jCAA0jCiE,MAAM,KAAK/Z,SAAQ,SAAS4W,GAAG,IAAIjB,EAAEiB,EAAE/V,QAAQmZ,EACzmCC,GAAItD,EAAEhB,GAAG,IAAIa,EAAEb,EAAE,GAAE,EAAGiB,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2EmD,MAAM,KAAK/Z,SAAQ,SAAS4W,GAAG,IAAIjB,EAAEiB,EAAE/V,QAAQmZ,EAAGC,GAAItD,EAAEhB,GAAG,IAAIa,EAAEb,EAAE,GAAE,EAAGiB,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAa5W,SAAQ,SAAS4W,GAAG,IAAIjB,EAAEiB,EAAE/V,QAAQmZ,EAAGC,GAAItD,EAAEhB,GAAG,IAAIa,EAAEb,EAAE,GAAE,EAAGiB,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAe5W,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAErW,cAAc,MAAK,GAAG,EAAG,IACldoW,EAAE8D,UAAU,IAAIjE,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcxW,SAAQ,SAAS4W,GAAGD,EAAEC,GAAG,IAAIJ,EAAEI,EAAE,GAAE,EAAGA,EAAErW,cAAc,MAAK,GAAG,EAAG,IAE5L,IAAIma,EAAGlC,EAAGmC,mDAAmDC,EAAGhF,OAAOC,IAAI,iBAAiBgF,EAAGjF,OAAOC,IAAI,gBAAgBiF,EAAGlF,OAAOC,IAAI,kBAAkBkF,EAAGnF,OAAOC,IAAI,qBAAqBmF,EAAGpF,OAAOC,IAAI,kBAAkBoF,EAAGrF,OAAOC,IAAI,kBAAkBqF,EAAGtF,OAAOC,IAAI,iBAAiBsF,EAAGvF,OAAOC,IAAI,qBAAqBuF,EAAGxF,OAAOC,IAAI,kBAAkBwF,EAAGzF,OAAOC,IAAI,uBAAuByF,EAAG1F,OAAOC,IAAI,cAAc0F,EAAG3F,OAAOC,IAAI,cAAcD,OAAOC,IAAI,eAAeD,OAAOC,IAAI,0BACje,IAAI2F,EAAG5F,OAAOC,IAAI,mBAAmBD,OAAOC,IAAI,uBAAuBD,OAAOC,IAAI,eAAeD,OAAOC,IAAI,wBAAwB,IAAI4F,EAAG7F,OAAO8F,SAAS,SAASC,EAAG/E,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE6E,GAAI7E,EAAE6E,IAAK7E,EAAE,eAA0CA,EAAE,IAAI,CAAC,IAAoBgF,EAAhB7E,EAAEtY,OAAOod,OAAU,SAASC,EAAGlF,GAAG,QAAG,IAASgF,EAAG,IAAI,MAAMG,OAAQ,CAAC,MAAMjG,GAAG,IAAIH,EAAEG,EAAEkG,MAAM/a,OAAON,MAAM,gBAAgBib,EAAGjG,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAM,KAAKiG,EAAGhF,CAAC,CAAC,IAAIqF,GAAG,EACzb,SAASC,EAAGtF,EAAEjB,GAAG,IAAIiB,GAAGqF,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAInG,EAAEiG,MAAMI,kBAAkBJ,MAAMI,uBAAkB,EAAO,IAAI,GAAGxG,EAAE,GAAGA,EAAE,WAAW,MAAMoG,OAAQ,EAAEtd,OAAOkW,eAAegB,EAAE5V,UAAU,QAAQ,CAACkC,IAAI,WAAW,MAAM8Z,OAAQ,IAAI,kBAAkB7c,SAASA,QAAQE,UAAU,CAAC,IAAIF,QAAQE,UAAUuW,EAAE,GAAG,CAAC,MAAMvT,GAAG,IAAI2T,EAAE3T,CAAC,CAAClD,QAAQE,UAAUwX,EAAE,GAAGjB,EAAE,KAAK,CAAC,IAAIA,EAAExG,MAAM,CAAC,MAAM/M,GAAG2T,EAAE3T,CAAC,CAACwU,EAAEzH,KAAKwG,EAAE5V,UAAU,KAAK,CAAC,IAAI,MAAMgc,OAAQ,CAAC,MAAM3Z,GAAG2T,EAAE3T,CAAC,CAACwU,GAAG,CAAC,CAAC,MAAMxU,GAAG,GAAGA,GAAG2T,GAAG,kBAAkB3T,EAAE4Z,MAAM,CAAC,IAAI,IAAI3Y,EAAEjB,EAAE4Z,MAAMjC,MAAM,MACnfzW,EAAEyS,EAAEiG,MAAMjC,MAAM,MAAM/D,EAAE3S,EAAEzB,OAAO,EAAEqU,EAAE3S,EAAE1B,OAAO,EAAE,GAAGoU,GAAG,GAAGC,GAAG5S,EAAE2S,KAAK1S,EAAE2S,IAAIA,IAAI,KAAK,GAAGD,GAAG,GAAGC,EAAED,IAAIC,IAAI,GAAG5S,EAAE2S,KAAK1S,EAAE2S,GAAG,CAAC,GAAG,IAAID,GAAG,IAAIC,EAAG,MAAMD,IAAQ,IAAJC,GAAS5S,EAAE2S,KAAK1S,EAAE2S,GAAG,CAAC,IAAIC,EAAE,KAAK7S,EAAE2S,GAAGnV,QAAQ,WAAW,QAA6F,OAArF+V,EAAErD,aAAa2C,EAAEkG,SAAS,iBAAiBlG,EAAEA,EAAErV,QAAQ,cAAc+V,EAAErD,cAAqB2C,CAAC,QAAO,GAAGF,GAAG,GAAGC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQgG,GAAG,EAAGF,MAAMI,kBAAkBrG,CAAC,CAAC,OAAOc,EAAEA,EAAEA,EAAErD,aAAaqD,EAAE7I,KAAK,IAAI+N,EAAGlF,GAAG,EAAE,CAC9Z,SAASyF,EAAGzF,GAAG,OAAOA,EAAElE,KAAK,KAAK,EAAE,OAAOoJ,EAAGlF,EAAE/C,MAAM,KAAK,GAAG,OAAOiI,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOlF,EAAEsF,EAAGtF,EAAE/C,MAAK,GAAM,KAAK,GAAG,OAAO+C,EAAEsF,EAAGtF,EAAE/C,KAAKY,QAAO,GAAM,KAAK,EAAE,OAAOmC,EAAEsF,EAAGtF,EAAE/C,MAAK,GAAM,QAAQ,MAAM,GAAG,CACxR,SAASyI,EAAG1F,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAErD,aAAaqD,EAAE7I,MAAM,KAAK,GAAG,kBAAkB6I,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKkE,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKG,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,aAAa,KAAKK,EAAG,MAAM,WAAW,KAAKC,EAAG,MAAM,eAAe,GAAG,kBAAkBzE,EAAE,OAAOA,EAAEE,UAAU,KAAKoE,EAAG,OAAOtE,EAAErD,aAAa,WAAW,YAAY,KAAK0H,EAAG,OAAOrE,EAAE2F,SAAShJ,aAAa,WAAW,YAAY,KAAK4H,EAAG,IAAIxF,EAAEiB,EAAEnC,OAC7Z,OADoamC,EAAEA,EAAErD,eACndqD,EAAE,MADieA,EAAEjB,EAAEpC,aAClfoC,EAAE5H,MAAM,IAAY,cAAc6I,EAAE,IAAI,cAAqBA,EAAE,KAAK0E,EAAG,OAA6B,QAAtB3F,EAAEiB,EAAErD,aAAa,MAAcoC,EAAE2G,EAAG1F,EAAE/C,OAAO,OAAO,KAAK0H,EAAG5F,EAAEiB,EAAE4F,SAAS5F,EAAEA,EAAE6F,MAAM,IAAI,OAAOH,EAAG1F,EAAEjB,GAAG,CAAC,MAAMG,GAAG,EAAE,OAAO,IAAI,CAC3M,SAAS4G,EAAG9F,GAAG,IAAIjB,EAAEiB,EAAE/C,KAAK,OAAO+C,EAAElE,KAAK,KAAK,GAAG,MAAM,QAAQ,KAAK,EAAE,OAAOiD,EAAEpC,aAAa,WAAW,YAAY,KAAK,GAAG,OAAOoC,EAAE4G,SAAShJ,aAAa,WAAW,YAAY,KAAK,GAAG,MAAM,qBAAqB,KAAK,GAAG,OAAkBqD,GAAXA,EAAEjB,EAAElB,QAAWlB,aAAaqD,EAAE7I,MAAM,GAAG4H,EAAEpC,cAAc,KAAKqD,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,OAAOjB,EAAE,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,OAAO,KAAK,GAAG,OAAO2G,EAAG3G,GAAG,KAAK,EAAE,OAAOA,IAAIoF,EAAG,aAAa,OAAO,KAAK,GAAG,MAAM,YACtf,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,QAAQ,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,eAAe,KAAK,GAAG,MAAM,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,GAAG,oBAAoBpF,EAAE,OAAOA,EAAEpC,aAAaoC,EAAE5H,MAAM,KAAK,GAAG,kBAAkB4H,EAAE,OAAOA,EAAE,OAAO,IAAI,CAAC,SAASgH,EAAG/F,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,YAAqB,IAAK,SAAS,OAAOA,EAAE,QAAQ,MAAM,GAAG,CACra,SAASgG,EAAGhG,GAAG,IAAIjB,EAAEiB,EAAE/C,KAAK,OAAO+C,EAAEA,EAAElH,WAAW,UAAUkH,EAAErW,gBAAgB,aAAaoV,GAAG,UAAUA,EAAE,CAEtF,SAASkH,EAAGjG,GAAGA,EAAEkG,gBAAgBlG,EAAEkG,cADvD,SAAYlG,GAAG,IAAIjB,EAAEiH,EAAGhG,GAAG,UAAU,QAAQd,EAAErX,OAAOI,yBAAyB+X,EAAEmG,YAAYhd,UAAU4V,GAAGI,EAAE,GAAGa,EAAEjB,GAAG,IAAIiB,EAAEuC,eAAexD,IAAI,qBAAqBG,GAAG,oBAAoBA,EAAEpS,KAAK,oBAAoBoS,EAAE7T,IAAI,CAAC,IAAIoB,EAAEyS,EAAEpS,IAAIJ,EAAEwS,EAAE7T,IAAiL,OAA7KxD,OAAOkW,eAAeiC,EAAEjB,EAAE,CAACjM,cAAa,EAAGhG,IAAI,WAAW,OAAOL,EAAE8L,KAAKoK,KAAK,EAAEtX,IAAI,SAAS2U,GAAGb,EAAE,GAAGa,EAAEtT,EAAE6L,KAAKoK,KAAK3C,EAAE,IAAInY,OAAOkW,eAAeiC,EAAEjB,EAAE,CAAChM,WAAWmM,EAAEnM,aAAmB,CAACqT,SAAS,WAAW,OAAOjH,CAAC,EAAEkH,SAAS,SAASrG,GAAGb,EAAE,GAAGa,CAAC,EAAEsG,aAAa,WAAWtG,EAAEkG,cACxf,YAAYlG,EAAEjB,EAAE,EAAE,CAAC,CAAkDwH,CAAGvG,GAAG,CAAC,SAASwG,EAAGxG,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIjB,EAAEiB,EAAEkG,cAAc,IAAInH,EAAE,OAAM,EAAG,IAAIG,EAAEH,EAAEqH,WAAejH,EAAE,GAAqD,OAAlDa,IAAIb,EAAE6G,EAAGhG,GAAGA,EAAEyG,QAAQ,OAAO,QAAQzG,EAAE1T,QAAO0T,EAAEb,KAAaD,IAAGH,EAAEsH,SAASrG,IAAG,EAAM,CAAC,SAAS0G,EAAG1G,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBtR,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOsR,EAAE2G,eAAe3G,EAAE7H,IAAI,CAAC,MAAM4G,GAAG,OAAOiB,EAAE7H,IAAI,CAAC,CACpa,SAASyO,EAAG5G,EAAEjB,GAAG,IAAIG,EAAEH,EAAE0H,QAAQ,OAAOtG,EAAE,CAAC,EAAEpB,EAAE,CAAC8H,oBAAe,EAAOC,kBAAa,EAAOxa,WAAM,EAAOma,QAAQ,MAAMvH,EAAEA,EAAEc,EAAE+G,cAAcC,gBAAgB,CAAC,SAASC,EAAGjH,EAAEjB,GAAG,IAAIG,EAAE,MAAMH,EAAE+H,aAAa,GAAG/H,EAAE+H,aAAa3H,EAAE,MAAMJ,EAAE0H,QAAQ1H,EAAE0H,QAAQ1H,EAAE8H,eAAe3H,EAAE6G,EAAG,MAAMhH,EAAEzS,MAAMyS,EAAEzS,MAAM4S,GAAGc,EAAE+G,cAAc,CAACC,eAAe7H,EAAE+H,aAAahI,EAAEiI,WAAW,aAAapI,EAAE9B,MAAM,UAAU8B,EAAE9B,KAAK,MAAM8B,EAAE0H,QAAQ,MAAM1H,EAAEzS,MAAM,CAAC,SAAS8a,EAAGpH,EAAEjB,GAAe,OAAZA,EAAEA,EAAE0H,UAAiBlD,EAAGvD,EAAE,UAAUjB,GAAE,EAAG,CAC9d,SAASsI,EAAGrH,EAAEjB,GAAGqI,EAAGpH,EAAEjB,GAAG,IAAIG,EAAE6G,EAAGhH,EAAEzS,OAAO6S,EAAEJ,EAAE9B,KAAK,GAAG,MAAMiC,EAAK,WAAWC,GAAM,IAAID,GAAG,KAAKc,EAAE1T,OAAO0T,EAAE1T,OAAO4S,KAAEc,EAAE1T,MAAM,GAAG4S,GAAOc,EAAE1T,QAAQ,GAAG4S,IAAIc,EAAE1T,MAAM,GAAG4S,QAAQ,GAAG,WAAWC,GAAG,UAAUA,EAA8B,YAA3Ba,EAAEzI,gBAAgB,SAAgBwH,EAAEwD,eAAe,SAAS+E,GAAGtH,EAAEjB,EAAE9B,KAAKiC,GAAGH,EAAEwD,eAAe,iBAAiB+E,GAAGtH,EAAEjB,EAAE9B,KAAK8I,EAAGhH,EAAE+H,eAAe,MAAM/H,EAAE0H,SAAS,MAAM1H,EAAE8H,iBAAiB7G,EAAE6G,iBAAiB9H,EAAE8H,eAAe,CACla,SAASU,EAAGvH,EAAEjB,EAAEG,GAAG,GAAGH,EAAEwD,eAAe,UAAUxD,EAAEwD,eAAe,gBAAgB,CAAC,IAAIpD,EAAEJ,EAAE9B,KAAK,KAAK,WAAWkC,GAAG,UAAUA,QAAG,IAASJ,EAAEzS,OAAO,OAAOyS,EAAEzS,OAAO,OAAOyS,EAAE,GAAGiB,EAAE+G,cAAcG,aAAahI,GAAGH,IAAIiB,EAAE1T,QAAQ0T,EAAE1T,MAAMyS,GAAGiB,EAAE8G,aAAa/H,CAAC,CAAU,MAATG,EAAEc,EAAE7I,QAAc6I,EAAE7I,KAAK,IAAI6I,EAAE6G,iBAAiB7G,EAAE+G,cAAcC,eAAe,KAAK9H,IAAIc,EAAE7I,KAAK+H,EAAE,CACzV,SAASoI,GAAGtH,EAAEjB,EAAEG,GAAM,WAAWH,GAAG2H,EAAG1G,EAAE9O,iBAAiB8O,IAAE,MAAMd,EAAEc,EAAE8G,aAAa,GAAG9G,EAAE+G,cAAcG,aAAalH,EAAE8G,eAAe,GAAG5H,IAAIc,EAAE8G,aAAa,GAAG5H,GAAE,CAAC,IAAIsI,GAAGte,MAAMue,QAC7K,SAASC,GAAG1H,EAAEjB,EAAEG,EAAEC,GAAe,GAAZa,EAAEA,EAAE2H,QAAW5I,EAAE,CAACA,EAAE,CAAC,EAAE,IAAI,IAAItS,EAAE,EAAEA,EAAEyS,EAAElU,OAAOyB,IAAIsS,EAAE,IAAIG,EAAEzS,KAAI,EAAG,IAAIyS,EAAE,EAAEA,EAAEc,EAAEhV,OAAOkU,IAAIzS,EAAEsS,EAAEwD,eAAe,IAAIvC,EAAEd,GAAG5S,OAAO0T,EAAEd,GAAG0I,WAAWnb,IAAIuT,EAAEd,GAAG0I,SAASnb,GAAGA,GAAG0S,IAAIa,EAAEd,GAAG2I,iBAAgB,EAAG,KAAK,CAAmB,IAAlB3I,EAAE,GAAG6G,EAAG7G,GAAGH,EAAE,KAAStS,EAAE,EAAEA,EAAEuT,EAAEhV,OAAOyB,IAAI,CAAC,GAAGuT,EAAEvT,GAAGH,QAAQ4S,EAAiD,OAA9Cc,EAAEvT,GAAGmb,UAAS,OAAGzI,IAAIa,EAAEvT,GAAGob,iBAAgB,IAAW,OAAO9I,GAAGiB,EAAEvT,GAAGqb,WAAW/I,EAAEiB,EAAEvT,GAAG,CAAC,OAAOsS,IAAIA,EAAE6I,UAAS,EAAG,CAAC,CACxY,SAASG,GAAG/H,EAAEjB,GAAG,GAAG,MAAMA,EAAEiJ,wBAAwB,MAAM7C,MAAM3F,EAAE,KAAK,OAAOW,EAAE,CAAC,EAAEpB,EAAE,CAACzS,WAAM,EAAOwa,kBAAa,EAAOmB,SAAS,GAAGjI,EAAE+G,cAAcG,cAAc,CAAC,SAASgB,GAAGlI,EAAEjB,GAAG,IAAIG,EAAEH,EAAEzS,MAAM,GAAG,MAAM4S,EAAE,CAA+B,GAA9BA,EAAEH,EAAEkJ,SAASlJ,EAAEA,EAAE+H,aAAgB,MAAM5H,EAAE,CAAC,GAAG,MAAMH,EAAE,MAAMoG,MAAM3F,EAAE,KAAK,GAAGgI,GAAGtI,GAAG,CAAC,GAAG,EAAEA,EAAElU,OAAO,MAAMma,MAAM3F,EAAE,KAAKN,EAAEA,EAAE,EAAE,CAACH,EAAEG,CAAC,CAAC,MAAMH,IAAIA,EAAE,IAAIG,EAAEH,CAAC,CAACiB,EAAE+G,cAAc,CAACG,aAAanB,EAAG7G,GAAG,CACnY,SAASiJ,GAAGnI,EAAEjB,GAAG,IAAIG,EAAE6G,EAAGhH,EAAEzS,OAAO6S,EAAE4G,EAAGhH,EAAE+H,cAAc,MAAM5H,KAAIA,EAAE,GAAGA,KAAMc,EAAE1T,QAAQ0T,EAAE1T,MAAM4S,GAAG,MAAMH,EAAE+H,cAAc9G,EAAE8G,eAAe5H,IAAIc,EAAE8G,aAAa5H,IAAI,MAAMC,IAAIa,EAAE8G,aAAa,GAAG3H,EAAE,CAAC,SAASiJ,GAAGpI,GAAG,IAAIjB,EAAEiB,EAAEjH,YAAYgG,IAAIiB,EAAE+G,cAAcG,cAAc,KAAKnI,GAAG,OAAOA,IAAIiB,EAAE1T,MAAMyS,EAAE,CAAC,SAASsJ,GAAGrI,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CAC7c,SAASsI,GAAGtI,EAAEjB,GAAG,OAAO,MAAMiB,GAAG,iCAAiCA,EAAEqI,GAAGtJ,GAAG,+BAA+BiB,GAAG,kBAAkBjB,EAAE,+BAA+BiB,CAAC,CAChK,IAAIuI,GAAevI,GAAZwI,IAAYxI,GAAsJ,SAASA,EAAEjB,GAAG,GAAG,+BAA+BiB,EAAEtJ,cAAc,cAAcsJ,EAAEA,EAAE9H,UAAU6G,MAAM,CAA2F,KAA1FwJ,GAAGA,IAAI7Z,SAASsC,cAAc,QAAUkH,UAAU,QAAQ6G,EAAE0J,UAAU5e,WAAW,SAAakV,EAAEwJ,GAAGnN,WAAW4E,EAAE5E,YAAY4E,EAAEhJ,YAAYgJ,EAAE5E,YAAY,KAAK2D,EAAE3D,YAAY4E,EAAE7E,YAAY4D,EAAE3D,WAAW,CAAC,EAAvb,qBAAqBsN,OAAOA,MAAMC,wBAAwB,SAAS5J,EAAEG,EAAEC,EAAE1S,GAAGic,MAAMC,yBAAwB,WAAW,OAAO3I,GAAEjB,EAAEG,EAAM,GAAE,EAAEc,IACtK,SAAS4I,GAAG5I,EAAEjB,GAAG,GAAGA,EAAE,CAAC,IAAIG,EAAEc,EAAE5E,WAAW,GAAG8D,GAAGA,IAAIc,EAAE6I,WAAW,IAAI3J,EAAErP,SAAwB,YAAdqP,EAAE4J,UAAU/J,EAAS,CAACiB,EAAEjH,YAAYgG,CAAC,CACtH,IAAIgK,GAAG,CAACC,yBAAwB,EAAGC,aAAY,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAGC,SAAQ,EAAGC,MAAK,EAAGC,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAGC,SAAQ,EAAGC,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGC,YAAW,EAAGC,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGC,YAAW,EAAGC,SAAQ,EAAGC,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAGC,QAAO,EAClfC,MAAK,EAAGC,aAAY,EAAGC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAG5L,EAAEjB,EAAEG,GAAG,OAAO,MAAMH,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGG,GAAG,kBAAkBH,GAAG,IAAIA,GAAGgK,GAAGxG,eAAevC,IAAI+I,GAAG/I,IAAI,GAAGjB,GAAG1U,OAAO0U,EAAE,IAAI,CACzb,SAAS8M,GAAG7L,EAAEjB,GAAa,IAAI,IAAIG,KAAlBc,EAAEA,EAAE8L,MAAmB/M,EAAE,GAAGA,EAAEwD,eAAerD,GAAG,CAAC,IAAIC,EAAE,IAAID,EAAE/U,QAAQ,MAAMsC,EAAEmf,GAAG1M,EAAEH,EAAEG,GAAGC,GAAG,UAAUD,IAAIA,EAAE,YAAYC,EAAEa,EAAE+L,YAAY7M,EAAEzS,GAAGuT,EAAEd,GAAGzS,CAAC,CAAC,CADY5E,OAAO6W,KAAKqK,IAAI3f,SAAQ,SAAS4W,GAAG2L,GAAGviB,SAAQ,SAAS2V,GAAGA,EAAEA,EAAEiB,EAAEgM,OAAO,GAAG1I,cAActD,EAAEiM,UAAU,GAAGlD,GAAGhK,GAAGgK,GAAG/I,EAAE,GAAE,IAChI,IAAIkM,GAAG/L,EAAE,CAACgM,UAAS,GAAI,CAACC,MAAK,EAAGC,MAAK,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAGC,OAAM,EAAGC,QAAO,EAAGC,MAAK,EAAGC,MAAK,EAAGC,OAAM,EAAGC,QAAO,EAAGC,OAAM,EAAGC,KAAI,IAClT,SAASC,GAAGnN,EAAEjB,GAAG,GAAGA,EAAE,CAAC,GAAGmN,GAAGlM,KAAK,MAAMjB,EAAEkJ,UAAU,MAAMlJ,EAAEiJ,yBAAyB,MAAM7C,MAAM3F,EAAE,IAAIQ,IAAI,GAAG,MAAMjB,EAAEiJ,wBAAwB,CAAC,GAAG,MAAMjJ,EAAEkJ,SAAS,MAAM9C,MAAM3F,EAAE,KAAK,GAAG,kBAAkBT,EAAEiJ,2BAA2B,WAAWjJ,EAAEiJ,yBAAyB,MAAM7C,MAAM3F,EAAE,IAAK,CAAC,GAAG,MAAMT,EAAE+M,OAAO,kBAAkB/M,EAAE+M,MAAM,MAAM3G,MAAM3F,EAAE,IAAK,CAAC,CAClW,SAAS4N,GAAGpN,EAAEjB,GAAG,IAAI,IAAIiB,EAAE7V,QAAQ,KAAK,MAAM,kBAAkB4U,EAAEsO,GAAG,OAAOrN,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,IAAIsN,GAAG,KAAK,SAASC,GAAGvN,GAA6F,OAA1FA,EAAEA,EAAEwN,QAAQxN,EAAEyN,YAAYlf,QAASmf,0BAA0B1N,EAAEA,EAAE0N,yBAAgC,IAAI1N,EAAEnQ,SAASmQ,EAAEjJ,WAAWiJ,CAAC,CAAC,IAAI2N,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACpc,SAASC,GAAG9N,GAAG,GAAGA,EAAE+N,GAAG/N,GAAG,CAAC,GAAG,oBAAoB2N,GAAG,MAAMxI,MAAM3F,EAAE,MAAM,IAAIT,EAAEiB,EAAEgO,UAAUjP,IAAIA,EAAEkP,GAAGlP,GAAG4O,GAAG3N,EAAEgO,UAAUhO,EAAE/C,KAAK8B,GAAG,CAAC,CAAC,SAASmP,GAAGlO,GAAG4N,GAAGC,GAAGA,GAAGrkB,KAAKwW,GAAG6N,GAAG,CAAC7N,GAAG4N,GAAG5N,CAAC,CAAC,SAASmO,KAAK,GAAGP,GAAG,CAAC,IAAI5N,EAAE4N,GAAG7O,EAAE8O,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAG9N,GAAMjB,EAAE,IAAIiB,EAAE,EAAEA,EAAEjB,EAAE/T,OAAOgV,IAAI8N,GAAG/O,EAAEiB,GAAG,CAAC,CAAC,SAASoO,GAAGpO,EAAEjB,GAAG,OAAOiB,EAAEjB,EAAE,CAAC,SAASsP,KAAK,CAAC,IAAIC,IAAG,EAAG,SAASC,GAAGvO,EAAEjB,EAAEG,GAAG,GAAGoP,GAAG,OAAOtO,EAAEjB,EAAEG,GAAGoP,IAAG,EAAG,IAAI,OAAOF,GAAGpO,EAAEjB,EAAEG,EAAE,CAAC,QAAWoP,IAAG,GAAG,OAAOV,IAAI,OAAOC,MAAGQ,KAAKF,KAAI,CAAC,CAChb,SAASK,GAAGxO,EAAEjB,GAAG,IAAIG,EAAEc,EAAEgO,UAAU,GAAG,OAAO9O,EAAE,OAAO,KAAK,IAAIC,EAAE8O,GAAG/O,GAAG,GAAG,OAAOC,EAAE,OAAO,KAAKD,EAAEC,EAAEJ,GAAGiB,EAAE,OAAOjB,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBI,GAAGA,EAAE2I,YAAqB3I,IAAI,YAAba,EAAEA,EAAE/C,OAAuB,UAAU+C,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGb,EAAE,MAAMa,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGd,GAAG,oBACleA,EAAE,MAAMiG,MAAM3F,EAAE,IAAIT,SAASG,IAAI,OAAOA,CAAC,CAAC,IAAIuP,IAAG,EAAG,GAAGpM,EAAG,IAAI,IAAIqM,GAAG,CAAC,EAAE7mB,OAAOkW,eAAe2Q,GAAG,UAAU,CAAC5hB,IAAI,WAAW2hB,IAAG,CAAE,IAAIlgB,OAAOogB,iBAAiB,OAAOD,GAAGA,IAAIngB,OAAOqgB,oBAAoB,OAAOF,GAAGA,GAAG,CAAC,MAAM1O,IAAGyO,IAAG,CAAE,CAAC,SAASI,GAAG7O,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,EAAEC,EAAEC,GAAG,IAAI9T,EAAEtC,MAAMC,UAAUqa,MAAMjL,KAAKxN,UAAU,GAAG,IAAIgU,EAAExW,MAAM2W,EAAE1T,EAAE,CAAC,MAAM+T,GAAGoD,KAAKmM,QAAQvP,EAAE,CAAC,CAAC,IAAIwP,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAAS9O,GAAG+O,IAAG,EAAGC,GAAGhP,CAAC,GAAG,SAASoP,GAAGpP,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,EAAEC,EAAEC,GAAGyP,IAAG,EAAGC,GAAG,KAAKH,GAAGtmB,MAAM4mB,GAAGpkB,UAAU,CACjW,SAASskB,GAAGrP,GAAG,IAAIjB,EAAEiB,EAAEd,EAAEc,EAAE,GAAGA,EAAEsP,UAAU,KAAKvQ,EAAEwQ,QAAQxQ,EAAEA,EAAEwQ,WAAW,CAACvP,EAAEjB,EAAE,GAAO,KAAa,MAAjBA,EAAEiB,GAASwP,SAActQ,EAAEH,EAAEwQ,QAAQvP,EAAEjB,EAAEwQ,aAAavP,EAAE,CAAC,OAAO,IAAIjB,EAAEjD,IAAIoD,EAAE,IAAI,CAAC,SAASuQ,GAAGzP,GAAG,GAAG,KAAKA,EAAElE,IAAI,CAAC,IAAIiD,EAAEiB,EAAE0P,cAAsE,GAAxD,OAAO3Q,IAAkB,QAAdiB,EAAEA,EAAEsP,aAAqBvQ,EAAEiB,EAAE0P,gBAAmB,OAAO3Q,EAAE,OAAOA,EAAE4Q,UAAU,CAAC,OAAO,IAAI,CAAC,SAASC,GAAG5P,GAAG,GAAGqP,GAAGrP,KAAKA,EAAE,MAAMmF,MAAM3F,EAAE,KAAM,CAE1S,SAASqQ,GAAG7P,GAAW,OAAO,QAAfA,EADtN,SAAYA,GAAG,IAAIjB,EAAEiB,EAAEsP,UAAU,IAAIvQ,EAAE,CAAS,GAAG,QAAXA,EAAEsQ,GAAGrP,IAAe,MAAMmF,MAAM3F,EAAE,MAAM,OAAOT,IAAIiB,EAAE,KAAKA,CAAC,CAAC,IAAI,IAAId,EAAEc,EAAEb,EAAEJ,IAAI,CAAC,IAAItS,EAAEyS,EAAEqQ,OAAO,GAAG,OAAO9iB,EAAE,MAAM,IAAIC,EAAED,EAAE6iB,UAAU,GAAG,OAAO5iB,EAAE,CAAY,GAAG,QAAdyS,EAAE1S,EAAE8iB,QAAmB,CAACrQ,EAAEC,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG1S,EAAEqjB,QAAQpjB,EAAEojB,MAAM,CAAC,IAAIpjB,EAAED,EAAEqjB,MAAMpjB,GAAG,CAAC,GAAGA,IAAIwS,EAAE,OAAO0Q,GAAGnjB,GAAGuT,EAAE,GAAGtT,IAAIyS,EAAE,OAAOyQ,GAAGnjB,GAAGsS,EAAErS,EAAEA,EAAEqjB,OAAO,CAAC,MAAM5K,MAAM3F,EAAE,KAAM,CAAC,GAAGN,EAAEqQ,SAASpQ,EAAEoQ,OAAOrQ,EAAEzS,EAAE0S,EAAEzS,MAAM,CAAC,IAAI,IAAI0S,GAAE,EAAGC,EAAE5S,EAAEqjB,MAAMzQ,GAAG,CAAC,GAAGA,IAAIH,EAAE,CAACE,GAAE,EAAGF,EAAEzS,EAAE0S,EAAEzS,EAAE,KAAK,CAAC,GAAG2S,IAAIF,EAAE,CAACC,GAAE,EAAGD,EAAE1S,EAAEyS,EAAExS,EAAE,KAAK,CAAC2S,EAAEA,EAAE0Q,OAAO,CAAC,IAAI3Q,EAAE,CAAC,IAAIC,EAAE3S,EAAEojB,MAAMzQ,GAAG,CAAC,GAAGA,IAC5fH,EAAE,CAACE,GAAE,EAAGF,EAAExS,EAAEyS,EAAE1S,EAAE,KAAK,CAAC,GAAG4S,IAAIF,EAAE,CAACC,GAAE,EAAGD,EAAEzS,EAAEwS,EAAEzS,EAAE,KAAK,CAAC4S,EAAEA,EAAE0Q,OAAO,CAAC,IAAI3Q,EAAE,MAAM+F,MAAM3F,EAAE,KAAM,CAAC,CAAC,GAAGN,EAAEoQ,YAAYnQ,EAAE,MAAMgG,MAAM3F,EAAE,KAAM,CAAC,GAAG,IAAIN,EAAEpD,IAAI,MAAMqJ,MAAM3F,EAAE,MAAM,OAAON,EAAE8O,UAAUgC,UAAU9Q,EAAEc,EAAEjB,CAAC,CAAkBkR,CAAGjQ,IAAmBkQ,GAAGlQ,GAAG,IAAI,CAAC,SAASkQ,GAAGlQ,GAAG,GAAG,IAAIA,EAAElE,KAAK,IAAIkE,EAAElE,IAAI,OAAOkE,EAAE,IAAIA,EAAEA,EAAE8P,MAAM,OAAO9P,GAAG,CAAC,IAAIjB,EAAEmR,GAAGlQ,GAAG,GAAG,OAAOjB,EAAE,OAAOA,EAAEiB,EAAEA,EAAE+P,OAAO,CAAC,OAAO,IAAI,CAC1X,IAAII,GAAGtO,EAAGuO,0BAA0BC,GAAGxO,EAAGyO,wBAAwBC,GAAG1O,EAAG2O,qBAAqBC,GAAG5O,EAAG6O,sBAAsBC,GAAE9O,EAAG+O,aAAaC,GAAGhP,EAAGiP,iCAAiCC,GAAGlP,EAAGmP,2BAA2BC,GAAGpP,EAAGqP,8BAA8BC,GAAGtP,EAAGuP,wBAAwBC,GAAGxP,EAAGyP,qBAAqBC,GAAG1P,EAAG2P,sBAAsBC,GAAG,KAAKC,GAAG,KACvV,IAAIC,GAAGC,KAAKC,MAAMD,KAAKC,MAAiC,SAAY7R,GAAU,OAAPA,KAAK,EAAS,IAAIA,EAAE,GAAG,IAAI8R,GAAG9R,GAAG+R,GAAG,GAAG,CAAC,EAA/ED,GAAGF,KAAKI,IAAID,GAAGH,KAAKK,IAA4D,IAAIC,GAAG,GAAGC,GAAG,QAC7H,SAASC,GAAGpS,GAAG,OAAOA,GAAGA,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAS,QAAFA,EAAU,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAAS,OAAS,UAAFA,EAAY,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,UAAU,OAAO,UAAU,KAAK,WAAW,OAAO,WACzgB,QAAQ,OAAOA,EAAE,CAAC,SAASqS,GAAGrS,EAAEjB,GAAG,IAAIG,EAAEc,EAAEsS,aAAa,GAAG,IAAIpT,EAAE,OAAO,EAAE,IAAIC,EAAE,EAAE1S,EAAEuT,EAAEuS,eAAe7lB,EAAEsT,EAAEwS,YAAYpT,EAAI,UAAFF,EAAY,GAAG,IAAIE,EAAE,CAAC,IAAIC,EAAED,GAAG3S,EAAE,IAAI4S,EAAEF,EAAEiT,GAAG/S,GAAS,KAAL3S,GAAG0S,KAAUD,EAAEiT,GAAG1lB,GAAI,MAAa,KAAP0S,EAAEF,GAAGzS,GAAQ0S,EAAEiT,GAAGhT,GAAG,IAAI1S,IAAIyS,EAAEiT,GAAG1lB,IAAI,GAAG,IAAIyS,EAAE,OAAO,EAAE,GAAG,IAAIJ,GAAGA,IAAII,GAAG,KAAKJ,EAAEtS,MAAKA,EAAE0S,GAAGA,KAAEzS,EAAEqS,GAAGA,IAAQ,KAAKtS,GAAG,KAAO,QAAFC,IAAY,OAAOqS,EAA0C,GAAxC,KAAO,EAAFI,KAAOA,GAAK,GAAFD,GAA4B,KAAtBH,EAAEiB,EAAEyS,gBAAwB,IAAIzS,EAAEA,EAAE0S,cAAc3T,GAAGI,EAAE,EAAEJ,GAActS,EAAE,IAAbyS,EAAE,GAAGyS,GAAG5S,IAAUI,GAAGa,EAAEd,GAAGH,IAAItS,EAAE,OAAO0S,CAAC,CACvc,SAASwT,GAAG3S,EAAEjB,GAAG,OAAOiB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAOjB,EAAE,IAAI,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAOA,EAAE,IAAuJ,QAAQ,OAAO,EAAE,CACrN,SAAS6T,GAAG5S,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEsS,cAAsCtS,EAAI,WAAFA,EAAa,WAAW,CAAC,CAAC,SAAS6S,KAAK,IAAI7S,EAAEkS,GAAoC,OAA1B,KAAQ,SAAfA,KAAK,MAAqBA,GAAG,IAAWlS,CAAC,CAAC,SAAS8S,GAAG9S,GAAG,IAAI,IAAIjB,EAAE,GAAGG,EAAE,EAAE,GAAGA,EAAEA,IAAIH,EAAEvV,KAAKwW,GAAG,OAAOjB,CAAC,CAC3a,SAASgU,GAAG/S,EAAEjB,EAAEG,GAAGc,EAAEsS,cAAcvT,EAAE,YAAYA,IAAIiB,EAAEuS,eAAe,EAAEvS,EAAEwS,YAAY,IAAGxS,EAAEA,EAAEgT,YAAWjU,EAAE,GAAG4S,GAAG5S,IAAQG,CAAC,CACzH,SAAS+T,GAAGjT,EAAEjB,GAAG,IAAIG,EAAEc,EAAEyS,gBAAgB1T,EAAE,IAAIiB,EAAEA,EAAE0S,cAAcxT,GAAG,CAAC,IAAIC,EAAE,GAAGwS,GAAGzS,GAAGzS,EAAE,GAAG0S,EAAE1S,EAAEsS,EAAEiB,EAAEb,GAAGJ,IAAIiB,EAAEb,IAAIJ,GAAGG,IAAIzS,CAAC,CAAC,CAAC,IAAIymB,GAAE,EAAE,SAASC,GAAGnT,GAAS,OAAO,GAAbA,IAAIA,GAAa,EAAEA,EAAE,KAAO,UAAFA,GAAa,GAAG,UAAU,EAAE,CAAC,CAAC,IAAIoT,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAIC,IAAIC,GAAG,IAAID,IAAIE,GAAG,GAAGC,GAAG,6PAA6P/Q,MAAM,KAChiB,SAASgR,GAAGnU,EAAEjB,GAAG,OAAOiB,GAAG,IAAK,UAAU,IAAK,WAAW2T,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAGM,OAAOrV,EAAEsV,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBL,GAAGI,OAAOrV,EAAEsV,WAAW,CACnT,SAASC,GAAGtU,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,GAAG,OAAG,OAAOsT,GAAGA,EAAEuU,cAAc7nB,GAASsT,EAAE,CAACwU,UAAUzV,EAAE0V,aAAavV,EAAEwV,iBAAiBvV,EAAEoV,YAAY7nB,EAAEioB,iBAAiB,CAACloB,IAAI,OAAOsS,IAAY,QAARA,EAAEgP,GAAGhP,KAAasU,GAAGtU,IAAIiB,IAAEA,EAAE0U,kBAAkBvV,EAAEJ,EAAEiB,EAAE2U,iBAAiB,OAAOloB,IAAI,IAAIsS,EAAE5U,QAAQsC,IAAIsS,EAAEvV,KAAKiD,GAAUuT,EAAC,CAEpR,SAAS4U,GAAG5U,GAAG,IAAIjB,EAAE8V,GAAG7U,EAAEwN,QAAQ,GAAG,OAAOzO,EAAE,CAAC,IAAIG,EAAEmQ,GAAGtQ,GAAG,GAAG,OAAOG,EAAE,GAAW,MAARH,EAAEG,EAAEpD,MAAY,GAAW,QAARiD,EAAE0Q,GAAGvQ,IAA4D,OAA/Cc,EAAEwU,UAAUzV,OAAEyU,GAAGxT,EAAE8U,UAAS,WAAWxB,GAAGpU,EAAE,SAAgB,GAAG,IAAIH,GAAGG,EAAE8O,UAAUgC,QAAQN,cAAcqF,aAAmE,YAArD/U,EAAEwU,UAAU,IAAItV,EAAEpD,IAAIoD,EAAE8O,UAAUgH,cAAc,KAAY,CAAChV,EAAEwU,UAAU,IAAI,CAClT,SAASS,GAAGjV,GAAG,GAAG,OAAOA,EAAEwU,UAAU,OAAM,EAAG,IAAI,IAAIzV,EAAEiB,EAAE2U,iBAAiB,EAAE5V,EAAE/T,QAAQ,CAAC,IAAIkU,EAAEgW,GAAGlV,EAAEyU,aAAazU,EAAE0U,iBAAiB3V,EAAE,GAAGiB,EAAEuU,aAAa,GAAG,OAAOrV,EAAiG,OAAe,QAARH,EAAEgP,GAAG7O,KAAamU,GAAGtU,GAAGiB,EAAEwU,UAAUtV,GAAE,EAA3H,IAAIC,EAAE,IAAtBD,EAAEc,EAAEuU,aAAwBpO,YAAYjH,EAAEjC,KAAKiC,GAAGoO,GAAGnO,EAAED,EAAEsO,OAAO2H,cAAchW,GAAGmO,GAAG,KAA0DvO,EAAEqW,OAAO,CAAC,OAAM,CAAE,CAAC,SAASC,GAAGrV,EAAEjB,EAAEG,GAAG+V,GAAGjV,IAAId,EAAEkV,OAAOrV,EAAE,CAAC,SAASuW,KAAK7B,IAAG,EAAG,OAAOE,IAAIsB,GAAGtB,MAAMA,GAAG,MAAM,OAAOC,IAAIqB,GAAGrB,MAAMA,GAAG,MAAM,OAAOC,IAAIoB,GAAGpB,MAAMA,GAAG,MAAMC,GAAG1qB,QAAQisB,IAAIrB,GAAG5qB,QAAQisB,GAAG,CACnf,SAASE,GAAGvV,EAAEjB,GAAGiB,EAAEwU,YAAYzV,IAAIiB,EAAEwU,UAAU,KAAKf,KAAKA,IAAG,EAAG5R,EAAGuO,0BAA0BvO,EAAGuP,wBAAwBkE,KAAK,CAC5H,SAASE,GAAGxV,GAAG,SAASjB,EAAEA,GAAG,OAAOwW,GAAGxW,EAAEiB,EAAE,CAAC,GAAG,EAAE0T,GAAG1oB,OAAO,CAACuqB,GAAG7B,GAAG,GAAG1T,GAAG,IAAI,IAAId,EAAE,EAAEA,EAAEwU,GAAG1oB,OAAOkU,IAAI,CAAC,IAAIC,EAAEuU,GAAGxU,GAAGC,EAAEqV,YAAYxU,IAAIb,EAAEqV,UAAU,KAAK,CAAC,CAAyF,IAAxF,OAAOb,IAAI4B,GAAG5B,GAAG3T,GAAG,OAAO4T,IAAI2B,GAAG3B,GAAG5T,GAAG,OAAO6T,IAAI0B,GAAG1B,GAAG7T,GAAG8T,GAAG1qB,QAAQ2V,GAAGiV,GAAG5qB,QAAQ2V,GAAOG,EAAE,EAAEA,EAAE+U,GAAGjpB,OAAOkU,KAAIC,EAAE8U,GAAG/U,IAAKsV,YAAYxU,IAAIb,EAAEqV,UAAU,MAAM,KAAK,EAAEP,GAAGjpB,QAAiB,QAARkU,EAAE+U,GAAG,IAAYO,WAAYI,GAAG1V,GAAG,OAAOA,EAAEsV,WAAWP,GAAGmB,OAAO,CAAC,IAAIK,GAAG3R,EAAG4R,wBAAwBC,IAAG,EAC5a,SAASC,GAAG5V,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEymB,GAAExmB,EAAE+oB,GAAGI,WAAWJ,GAAGI,WAAW,KAAK,IAAI3C,GAAE,EAAE4C,GAAG9V,EAAEjB,EAAEG,EAAEC,EAAE,CAAC,QAAQ+T,GAAEzmB,EAAEgpB,GAAGI,WAAWnpB,CAAC,CAAC,CAAC,SAASqpB,GAAG/V,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEymB,GAAExmB,EAAE+oB,GAAGI,WAAWJ,GAAGI,WAAW,KAAK,IAAI3C,GAAE,EAAE4C,GAAG9V,EAAEjB,EAAEG,EAAEC,EAAE,CAAC,QAAQ+T,GAAEzmB,EAAEgpB,GAAGI,WAAWnpB,CAAC,CAAC,CACjO,SAASopB,GAAG9V,EAAEjB,EAAEG,EAAEC,GAAG,GAAGwW,GAAG,CAAC,IAAIlpB,EAAEyoB,GAAGlV,EAAEjB,EAAEG,EAAEC,GAAG,GAAG,OAAO1S,EAAEupB,GAAGhW,EAAEjB,EAAEI,EAAE8W,GAAG/W,GAAGiV,GAAGnU,EAAEb,QAAQ,GANtF,SAAYa,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,OAAOsS,GAAG,IAAK,UAAU,OAAO4U,GAAGW,GAAGX,GAAG3T,EAAEjB,EAAEG,EAAEC,EAAE1S,IAAG,EAAG,IAAK,YAAY,OAAOmnB,GAAGU,GAAGV,GAAG5T,EAAEjB,EAAEG,EAAEC,EAAE1S,IAAG,EAAG,IAAK,YAAY,OAAOonB,GAAGS,GAAGT,GAAG7T,EAAEjB,EAAEG,EAAEC,EAAE1S,IAAG,EAAG,IAAK,cAAc,IAAIC,EAAED,EAAE4nB,UAAkD,OAAxCP,GAAGzoB,IAAIqB,EAAE4nB,GAAGR,GAAGhnB,IAAIJ,IAAI,KAAKsT,EAAEjB,EAAEG,EAAEC,EAAE1S,KAAU,EAAG,IAAK,oBAAoB,OAAOC,EAAED,EAAE4nB,UAAUL,GAAG3oB,IAAIqB,EAAE4nB,GAAGN,GAAGlnB,IAAIJ,IAAI,KAAKsT,EAAEjB,EAAEG,EAAEC,EAAE1S,KAAI,EAAG,OAAM,CAAE,CAM1QypB,CAAGzpB,EAAEuT,EAAEjB,EAAEG,EAAEC,GAAGA,EAAEgX,uBAAuB,GAAGhC,GAAGnU,EAAEb,GAAK,EAAFJ,IAAM,EAAEmV,GAAG/pB,QAAQ6V,GAAG,CAAC,KAAK,OAAOvT,GAAG,CAAC,IAAIC,EAAEqhB,GAAGthB,GAA0D,GAAvD,OAAOC,GAAG0mB,GAAG1mB,GAAiB,QAAdA,EAAEwoB,GAAGlV,EAAEjB,EAAEG,EAAEC,KAAa6W,GAAGhW,EAAEjB,EAAEI,EAAE8W,GAAG/W,GAAMxS,IAAID,EAAE,MAAMA,EAAEC,CAAC,CAAC,OAAOD,GAAG0S,EAAEgX,iBAAiB,MAAMH,GAAGhW,EAAEjB,EAAEI,EAAE,KAAKD,EAAE,CAAC,CAAC,IAAI+W,GAAG,KACpU,SAASf,GAAGlV,EAAEjB,EAAEG,EAAEC,GAA2B,GAAxB8W,GAAG,KAAwB,QAAXjW,EAAE6U,GAAV7U,EAAEuN,GAAGpO,KAAuB,GAAW,QAARJ,EAAEsQ,GAAGrP,IAAYA,EAAE,UAAU,GAAW,MAARd,EAAEH,EAAEjD,KAAW,CAAS,GAAG,QAAXkE,EAAEyP,GAAG1Q,IAAe,OAAOiB,EAAEA,EAAE,IAAI,MAAM,GAAG,IAAId,EAAE,CAAC,GAAGH,EAAEiP,UAAUgC,QAAQN,cAAcqF,aAAa,OAAO,IAAIhW,EAAEjD,IAAIiD,EAAEiP,UAAUgH,cAAc,KAAKhV,EAAE,IAAI,MAAMjB,IAAIiB,IAAIA,EAAE,MAAW,OAALiW,GAAGjW,EAAS,IAAI,CAC7S,SAASoW,GAAGpW,GAAG,OAAOA,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,QAAQ,IAAK,cAAc,IAAK,OAAO,IAAK,MAAM,IAAK,WAAW,IAAK,WAAW,IAAK,UAAU,IAAK,YAAY,IAAK,OAAO,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,UAAU,IAAK,UAAU,IAAK,WAAW,IAAK,QAAQ,IAAK,YAAY,IAAK,UAAU,IAAK,QAAQ,IAAK,QAAQ,IAAK,OAAO,IAAK,gBAAgB,IAAK,cAAc,IAAK,YAAY,IAAK,aAAa,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,cAAc,IAAK,WAAW,IAAK,aAAa,IAAK,eAAe,IAAK,SAAS,IAAK,kBAAkB,IAAK,YAAY,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,oBAAoB,IAAK,aAAa,IAAK,YAAY,IAAK,cAAc,IAAK,OAAO,IAAK,mBAAmB,IAAK,QAAQ,IAAK,aAAa,IAAK,WAAW,IAAK,SAAS,IAAK,cAAc,OAAO,EAAE,IAAK,OAAO,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,IAAK,QAAQ,IAAK,aAAa,IAAK,aAAa,IAAK,eAAe,IAAK,eAAe,OAAO,EACpqC,IAAK,UAAU,OAAO6Q,MAAM,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,OAAO,EAAE,KAAKE,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,UAAU,QAAQ,OAAO,GAAG,QAAQ,OAAO,GAAG,CAAC,IAAI8E,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAIvW,EAAkBb,EAAhBJ,EAAEuX,GAAGpX,EAAEH,EAAE/T,OAASyB,EAAE,UAAU4pB,GAAGA,GAAG/pB,MAAM+pB,GAAGtd,YAAYrM,EAAED,EAAEzB,OAAO,IAAIgV,EAAE,EAAEA,EAAEd,GAAGH,EAAEiB,KAAKvT,EAAEuT,GAAGA,KAAK,IAAIZ,EAAEF,EAAEc,EAAE,IAAIb,EAAE,EAAEA,GAAGC,GAAGL,EAAEG,EAAEC,KAAK1S,EAAEC,EAAEyS,GAAGA,KAAK,OAAOoX,GAAG9pB,EAAE+W,MAAMxD,EAAE,EAAEb,EAAE,EAAEA,OAAE,EAAO,CACxY,SAASsX,GAAGzW,GAAG,IAAIjB,EAAEiB,EAAE0W,QAA+E,MAAvE,aAAa1W,EAAgB,KAAbA,EAAEA,EAAE2W,WAAgB,KAAK5X,IAAIiB,EAAE,IAAKA,EAAEjB,EAAE,KAAKiB,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,CAAC,CAAC,SAAS4W,KAAK,OAAM,CAAE,CAAC,SAASC,KAAK,OAAM,CAAE,CAC5K,SAASC,GAAG9W,GAAG,SAASjB,EAAEA,EAAEI,EAAE1S,EAAEC,EAAE0S,GAA6G,IAAI,IAAIF,KAAlHyD,KAAKoU,WAAWhY,EAAE4D,KAAKqU,YAAYvqB,EAAEkW,KAAK1F,KAAKkC,EAAEwD,KAAK4R,YAAY7nB,EAAEiW,KAAK6K,OAAOpO,EAAEuD,KAAKsU,cAAc,KAAkBjX,EAAEA,EAAEuC,eAAerD,KAAKH,EAAEiB,EAAEd,GAAGyD,KAAKzD,GAAGH,EAAEA,EAAErS,GAAGA,EAAEwS,IAAgI,OAA5HyD,KAAKuU,oBAAoB,MAAMxqB,EAAEyqB,iBAAiBzqB,EAAEyqB,kBAAiB,IAAKzqB,EAAE0qB,aAAaR,GAAGC,GAAGlU,KAAK0U,qBAAqBR,GAAUlU,IAAI,CAC9E,OAD+ExC,EAAEpB,EAAE5V,UAAU,CAACmuB,eAAe,WAAW3U,KAAKwU,kBAAiB,EAAG,IAAInX,EAAE2C,KAAK4R,YAAYvU,IAAIA,EAAEsX,eAAetX,EAAEsX,iBAAiB,mBAAmBtX,EAAEoX,cAC7epX,EAAEoX,aAAY,GAAIzU,KAAKuU,mBAAmBN,GAAG,EAAET,gBAAgB,WAAW,IAAInW,EAAE2C,KAAK4R,YAAYvU,IAAIA,EAAEmW,gBAAgBnW,EAAEmW,kBAAkB,mBAAmBnW,EAAEuX,eAAevX,EAAEuX,cAAa,GAAI5U,KAAK0U,qBAAqBT,GAAG,EAAEY,QAAQ,WAAW,EAAEC,aAAab,KAAY7X,CAAC,CACjR,IAAoL2Y,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,UAAU,SAASjY,GAAG,OAAOA,EAAEiY,WAAWC,KAAKC,KAAK,EAAEhB,iBAAiB,EAAEiB,UAAU,GAAGC,GAAGvB,GAAGe,IAAIS,GAAGnY,EAAE,CAAC,EAAE0X,GAAG,CAACU,KAAK,EAAEC,OAAO,IAAIC,GAAG3B,GAAGwB,IAAaI,GAAGvY,EAAE,CAAC,EAAEmY,GAAG,CAACK,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,iBAAiBC,GAAGC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,SAASzZ,GAAG,YAAO,IAASA,EAAEyZ,cAAczZ,EAAE0Z,cAAc1Z,EAAEyN,WAAWzN,EAAE2Z,UAAU3Z,EAAE0Z,YAAY1Z,EAAEyZ,aAAa,EAAEG,UAAU,SAAS5Z,GAAG,MAAG,cAC3eA,EAASA,EAAE4Z,WAAU5Z,IAAI4X,KAAKA,IAAI,cAAc5X,EAAE/C,MAAMya,GAAG1X,EAAE2Y,QAAQf,GAAGe,QAAQhB,GAAG3X,EAAE4Y,QAAQhB,GAAGgB,SAASjB,GAAGD,GAAG,EAAEE,GAAG5X,GAAU0X,GAAE,EAAEmC,UAAU,SAAS7Z,GAAG,MAAM,cAAcA,EAAEA,EAAE6Z,UAAUlC,EAAE,IAAImC,GAAGhD,GAAG4B,IAAiCqB,GAAGjD,GAA7B3W,EAAE,CAAC,EAAEuY,GAAG,CAACsB,aAAa,KAA4CC,GAAGnD,GAA9B3W,EAAE,CAAC,EAAEmY,GAAG,CAACmB,cAAc,KAA0ES,GAAGpD,GAA5D3W,EAAE,CAAC,EAAE0X,GAAG,CAACsC,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAGna,EAAE,CAAC,EAAE0X,GAAG,CAAC0C,cAAc,SAASva,GAAG,MAAM,kBAAkBA,EAAEA,EAAEua,cAAchsB,OAAOgsB,aAAa,IAAIC,GAAG1D,GAAGwD,IAAyBG,GAAG3D,GAArB3W,EAAE,CAAC,EAAE0X,GAAG,CAACve,KAAK,KAAcohB,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIC,KAAK,YAAYC,GAAG,UAAUC,MAAM,aAAaC,KAAK,YAAYC,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAG7b,GAAG,IAAIjB,EAAE4D,KAAK4R,YAAY,OAAOxV,EAAEsa,iBAAiBta,EAAEsa,iBAAiBrZ,MAAIA,EAAEwb,GAAGxb,OAAMjB,EAAEiB,EAAK,CAAC,SAASsZ,KAAK,OAAOuC,EAAE,CAChS,IAAIC,GAAG3b,EAAE,CAAC,EAAEmY,GAAG,CAACzZ,IAAI,SAASmB,GAAG,GAAGA,EAAEnB,IAAI,CAAC,IAAIE,EAAE2b,GAAG1a,EAAEnB,MAAMmB,EAAEnB,IAAI,GAAG,iBAAiBE,EAAE,OAAOA,CAAC,CAAC,MAAM,aAAaiB,EAAE/C,KAAc,MAAR+C,EAAEyW,GAAGzW,IAAU,QAAQtW,OAAOqyB,aAAa/b,GAAI,YAAYA,EAAE/C,MAAM,UAAU+C,EAAE/C,KAAKse,GAAGvb,EAAE0W,UAAU,eAAe,EAAE,EAAEsF,KAAK,EAAEC,SAAS,EAAEhD,QAAQ,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,EAAE8C,OAAO,EAAEC,OAAO,EAAE9C,iBAAiBC,GAAG3C,SAAS,SAAS3W,GAAG,MAAM,aAAaA,EAAE/C,KAAKwZ,GAAGzW,GAAG,CAAC,EAAE0W,QAAQ,SAAS1W,GAAG,MAAM,YAAYA,EAAE/C,MAAM,UAAU+C,EAAE/C,KAAK+C,EAAE0W,QAAQ,CAAC,EAAE0F,MAAM,SAASpc,GAAG,MAAM,aAC7eA,EAAE/C,KAAKwZ,GAAGzW,GAAG,YAAYA,EAAE/C,MAAM,UAAU+C,EAAE/C,KAAK+C,EAAE0W,QAAQ,CAAC,IAAI2F,GAAGvF,GAAGgF,IAAiIQ,GAAGxF,GAA7H3W,EAAE,CAAC,EAAEuY,GAAG,CAACrE,UAAU,EAAEkI,MAAM,EAAEC,OAAO,EAAEC,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEC,UAAU,KAAmIC,GAAGlG,GAArH3W,EAAE,CAAC,EAAEmY,GAAG,CAAC2E,QAAQ,EAAEC,cAAc,EAAEC,eAAe,EAAEhE,OAAO,EAAEC,QAAQ,EAAEH,QAAQ,EAAEC,SAAS,EAAEG,iBAAiBC,MAA0E8D,GAAGtG,GAA3D3W,EAAE,CAAC,EAAE0X,GAAG,CAAC7U,aAAa,EAAEoX,YAAY,EAAEC,cAAc,KAAcgD,GAAGld,EAAE,CAAC,EAAEuY,GAAG,CAAC4E,OAAO,SAAStd,GAAG,MAAM,WAAWA,EAAEA,EAAEsd,OAAO,gBAAgBtd,GAAGA,EAAEud,YAAY,CAAC,EACnfC,OAAO,SAASxd,GAAG,MAAM,WAAWA,EAAEA,EAAEwd,OAAO,gBAAgBxd,GAAGA,EAAEyd,YAAY,eAAezd,GAAGA,EAAE0d,WAAW,CAAC,EAAEC,OAAO,EAAEC,UAAU,IAAIC,GAAG/G,GAAGuG,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAG1b,GAAI,qBAAqB9T,OAAOyvB,GAAG,KAAK3b,GAAI,iBAAiB3T,WAAWsvB,GAAGtvB,SAASuvB,cAAc,IAAIC,GAAG7b,GAAI,cAAc9T,SAASyvB,GAAGG,GAAG9b,KAAM0b,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAII,GAAG10B,OAAOqyB,aAAa,IAAIsC,IAAG,EAC1W,SAASC,GAAGte,EAAEjB,GAAG,OAAOiB,GAAG,IAAK,QAAQ,OAAO,IAAI8d,GAAG3zB,QAAQ4U,EAAE2X,SAAS,IAAK,UAAU,OAAO,MAAM3X,EAAE2X,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAAS6H,GAAGve,GAAc,MAAM,kBAAjBA,EAAEA,EAAEwY,SAAkC,SAASxY,EAAEA,EAAE1G,KAAK,IAAI,CAAC,IAAIklB,IAAG,EAE9Q,IAAIC,GAAG,CAACC,OAAM,EAAGC,MAAK,EAAGC,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGC,OAAM,EAAGC,QAAO,EAAGC,UAAS,EAAGC,OAAM,EAAGC,QAAO,EAAGC,KAAI,EAAG3xB,MAAK,EAAG4xB,MAAK,EAAGC,KAAI,EAAGC,MAAK,GAAI,SAASC,GAAGvf,GAAG,IAAIjB,EAAEiB,GAAGA,EAAElH,UAAUkH,EAAElH,SAASnP,cAAc,MAAM,UAAUoV,IAAI0f,GAAGze,EAAE/C,MAAM,aAAa8B,CAAO,CAAC,SAASygB,GAAGxf,EAAEjB,EAAEG,EAAEC,GAAG+O,GAAG/O,GAAsB,GAAnBJ,EAAE0gB,GAAG1gB,EAAE,aAAgB/T,SAASkU,EAAE,IAAImZ,GAAG,WAAW,SAAS,KAAKnZ,EAAEC,GAAGa,EAAExW,KAAK,CAACk2B,MAAMxgB,EAAEygB,UAAU5gB,IAAI,CAAC,IAAI6gB,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAG9f,GAAG+f,GAAG/f,EAAE,EAAE,CAAC,SAASggB,GAAGhgB,GAAe,GAAGwG,EAATyZ,GAAGjgB,IAAY,OAAOA,CAAC,CACpe,SAASkgB,GAAGlgB,EAAEjB,GAAG,GAAG,WAAWiB,EAAE,OAAOjB,CAAC,CAAC,IAAIohB,IAAG,EAAG,GAAG9d,EAAG,CAAC,IAAI+d,GAAG,GAAG/d,EAAG,CAAC,IAAIge,GAAG,YAAY3xB,SAAS,IAAI2xB,GAAG,CAAC,IAAIC,GAAG5xB,SAASsC,cAAc,OAAOsvB,GAAG9oB,aAAa,UAAU,WAAW6oB,GAAG,oBAAoBC,GAAGC,OAAO,CAACH,GAAGC,EAAE,MAAMD,IAAG,EAAGD,GAAGC,MAAM1xB,SAASuvB,cAAc,EAAEvvB,SAASuvB,aAAa,CAAC,SAASuC,KAAKZ,KAAKA,GAAGa,YAAY,mBAAmBC,IAAIb,GAAGD,GAAG,KAAK,CAAC,SAASc,GAAG1gB,GAAG,GAAG,UAAUA,EAAEgD,cAAcgd,GAAGH,IAAI,CAAC,IAAI9gB,EAAE,GAAGygB,GAAGzgB,EAAE8gB,GAAG7f,EAAEuN,GAAGvN,IAAIuO,GAAGuR,GAAG/gB,EAAE,CAAC,CAC/b,SAAS4hB,GAAG3gB,EAAEjB,EAAEG,GAAG,YAAYc,GAAGwgB,KAAUX,GAAG3gB,GAAR0gB,GAAG7gB,GAAU6hB,YAAY,mBAAmBF,KAAK,aAAa1gB,GAAGwgB,IAAI,CAAC,SAASK,GAAG7gB,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOggB,GAAGH,GAAG,CAAC,SAASiB,GAAG9gB,EAAEjB,GAAG,GAAG,UAAUiB,EAAE,OAAOggB,GAAGjhB,EAAE,CAAC,SAASgiB,GAAG/gB,EAAEjB,GAAG,GAAG,UAAUiB,GAAG,WAAWA,EAAE,OAAOggB,GAAGjhB,EAAE,CAAiE,IAAIiiB,GAAG,oBAAoBn5B,OAAOwlB,GAAGxlB,OAAOwlB,GAA5G,SAAYrN,EAAEjB,GAAG,OAAOiB,IAAIjB,IAAI,IAAIiB,GAAG,EAAEA,IAAI,EAAEjB,IAAIiB,IAAIA,GAAGjB,IAAIA,CAAC,EACtW,SAASkiB,GAAGjhB,EAAEjB,GAAG,GAAGiiB,GAAGhhB,EAAEjB,GAAG,OAAM,EAAG,GAAG,kBAAkBiB,GAAG,OAAOA,GAAG,kBAAkBjB,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIG,EAAErX,OAAO6W,KAAKsB,GAAGb,EAAEtX,OAAO6W,KAAKK,GAAG,GAAGG,EAAElU,SAASmU,EAAEnU,OAAO,OAAM,EAAG,IAAImU,EAAE,EAAEA,EAAED,EAAElU,OAAOmU,IAAI,CAAC,IAAI1S,EAAEyS,EAAEC,GAAG,IAAImD,EAAG/J,KAAKwG,EAAEtS,KAAKu0B,GAAGhhB,EAAEvT,GAAGsS,EAAEtS,IAAI,OAAM,CAAE,CAAC,OAAM,CAAE,CAAC,SAASy0B,GAAGlhB,GAAG,KAAKA,GAAGA,EAAE5E,YAAY4E,EAAEA,EAAE5E,WAAW,OAAO4E,CAAC,CACtU,SAASmhB,GAAGnhB,EAAEjB,GAAG,IAAwBI,EAApBD,EAAEgiB,GAAGlhB,GAAO,IAAJA,EAAE,EAAYd,GAAG,CAAC,GAAG,IAAIA,EAAErP,SAAS,CAA0B,GAAzBsP,EAAEa,EAAEd,EAAEnG,YAAY/N,OAAUgV,GAAGjB,GAAGI,GAAGJ,EAAE,MAAM,CAACjI,KAAKoI,EAAEkiB,OAAOriB,EAAEiB,GAAGA,EAAEb,CAAC,CAACa,EAAE,CAAC,KAAKd,GAAG,CAAC,GAAGA,EAAEmiB,YAAY,CAACniB,EAAEA,EAAEmiB,YAAY,MAAMrhB,CAAC,CAACd,EAAEA,EAAEnI,UAAU,CAACmI,OAAE,CAAM,CAACA,EAAEgiB,GAAGhiB,EAAE,CAAC,CAAC,SAASoiB,GAAGthB,EAAEjB,GAAG,SAAOiB,IAAGjB,KAAEiB,IAAIjB,KAAKiB,GAAG,IAAIA,EAAEnQ,YAAYkP,GAAG,IAAIA,EAAElP,SAASyxB,GAAGthB,EAAEjB,EAAEhI,YAAY,aAAaiJ,EAAEA,EAAEuhB,SAASxiB,KAAGiB,EAAEwhB,4BAAwD,GAA7BxhB,EAAEwhB,wBAAwBziB,KAAY,CAC9Z,SAAS0iB,KAAK,IAAI,IAAIzhB,EAAEzR,OAAOwQ,EAAE2H,IAAK3H,aAAaiB,EAAE0hB,mBAAmB,CAAC,IAAI,IAAIxiB,EAAE,kBAAkBH,EAAE4iB,cAAc1F,SAAS2F,IAAI,CAAC,MAAMziB,GAAGD,GAAE,CAAE,CAAC,IAAGA,EAAyB,MAAMH,EAAE2H,GAA/B1G,EAAEjB,EAAE4iB,eAAgCjzB,SAAS,CAAC,OAAOqQ,CAAC,CAAC,SAAS8iB,GAAG7hB,GAAG,IAAIjB,EAAEiB,GAAGA,EAAElH,UAAUkH,EAAElH,SAASnP,cAAc,OAAOoV,IAAI,UAAUA,IAAI,SAASiB,EAAE/C,MAAM,WAAW+C,EAAE/C,MAAM,QAAQ+C,EAAE/C,MAAM,QAAQ+C,EAAE/C,MAAM,aAAa+C,EAAE/C,OAAO,aAAa8B,GAAG,SAASiB,EAAE8hB,gBAAgB,CACxa,SAASC,GAAG/hB,GAAG,IAAIjB,EAAE0iB,KAAKviB,EAAEc,EAAEgiB,YAAY7iB,EAAEa,EAAEiiB,eAAe,GAAGljB,IAAIG,GAAGA,GAAGA,EAAEhO,eAAeowB,GAAGpiB,EAAEhO,cAAc8G,gBAAgBkH,GAAG,CAAC,GAAG,OAAOC,GAAG0iB,GAAG3iB,GAAG,GAAGH,EAAEI,EAAE+iB,WAAc,KAARliB,EAAEb,EAAEgjB,OAAiBniB,EAAEjB,GAAG,mBAAmBG,EAAEA,EAAEkjB,eAAerjB,EAAEG,EAAEmjB,aAAazQ,KAAK0Q,IAAItiB,EAAEd,EAAE5S,MAAMtB,aAAa,IAAGgV,GAAGjB,EAAEG,EAAEhO,eAAexC,WAAWqQ,EAAEwjB,aAAah0B,QAASi0B,aAAa,CAACxiB,EAAEA,EAAEwiB,eAAe,IAAI/1B,EAAEyS,EAAEnG,YAAY/N,OAAO0B,EAAEklB,KAAK0Q,IAAInjB,EAAE+iB,MAAMz1B,GAAG0S,OAAE,IAASA,EAAEgjB,IAAIz1B,EAAEklB,KAAK0Q,IAAInjB,EAAEgjB,IAAI11B,IAAIuT,EAAEyiB,QAAQ/1B,EAAEyS,IAAI1S,EAAE0S,EAAEA,EAAEzS,EAAEA,EAAED,GAAGA,EAAE00B,GAAGjiB,EAAExS,GAAG,IAAI0S,EAAE+hB,GAAGjiB,EACvfC,GAAG1S,GAAG2S,IAAI,IAAIY,EAAE0iB,YAAY1iB,EAAE2iB,aAAal2B,EAAEqK,MAAMkJ,EAAE4iB,eAAen2B,EAAE20B,QAAQphB,EAAE6iB,YAAYzjB,EAAEtI,MAAMkJ,EAAE8iB,cAAc1jB,EAAEgiB,WAAUriB,EAAEA,EAAEgkB,eAAgBC,SAASv2B,EAAEqK,KAAKrK,EAAE20B,QAAQphB,EAAEijB,kBAAkBv2B,EAAEyS,GAAGa,EAAEkjB,SAASnkB,GAAGiB,EAAEyiB,OAAOrjB,EAAEtI,KAAKsI,EAAEgiB,UAAUriB,EAAEokB,OAAO/jB,EAAEtI,KAAKsI,EAAEgiB,QAAQphB,EAAEkjB,SAASnkB,IAAI,CAAM,IAALA,EAAE,GAAOiB,EAAEd,EAAEc,EAAEA,EAAEjJ,YAAY,IAAIiJ,EAAEnQ,UAAUkP,EAAEvV,KAAK,CAACiC,QAAQuU,EAAEojB,KAAKpjB,EAAEqjB,WAAWC,IAAItjB,EAAEujB,YAAmD,IAAvC,oBAAoBrkB,EAAEskB,OAAOtkB,EAAEskB,QAAYtkB,EAAE,EAAEA,EAAEH,EAAE/T,OAAOkU,KAAIc,EAAEjB,EAAEG,IAAKzT,QAAQ43B,WAAWrjB,EAAEojB,KAAKpjB,EAAEvU,QAAQ83B,UAAUvjB,EAAEsjB,GAAG,CAAC,CACzf,IAAIG,GAAGphB,GAAI,iBAAiB3T,UAAU,IAAIA,SAASuvB,aAAayF,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAG9jB,EAAEjB,EAAEG,GAAG,IAAIC,EAAED,EAAE3Q,SAAS2Q,EAAEA,EAAExQ,SAAS,IAAIwQ,EAAErP,SAASqP,EAAEA,EAAEhO,cAAc2yB,IAAI,MAAMH,IAAIA,KAAKhd,EAAGvH,KAAU,mBAALA,EAAEukB,KAAyB7B,GAAG1iB,GAAGA,EAAE,CAAC+iB,MAAM/iB,EAAEijB,eAAeD,IAAIhjB,EAAEkjB,cAAuFljB,EAAE,CAACwjB,YAA3ExjB,GAAGA,EAAEjO,eAAeiO,EAAEjO,cAAcqxB,aAAah0B,QAAQi0B,gBAA+BG,WAAWC,aAAazjB,EAAEyjB,aAAaC,UAAU1jB,EAAE0jB,UAAUC,YAAY3jB,EAAE2jB,aAAcc,IAAI3C,GAAG2C,GAAGzkB,KAAKykB,GAAGzkB,EAAsB,GAApBA,EAAEsgB,GAAGkE,GAAG,aAAgB34B,SAAS+T,EAAE,IAAIsZ,GAAG,WAAW,SAAS,KAAKtZ,EAAEG,GAAGc,EAAExW,KAAK,CAACk2B,MAAM3gB,EAAE4gB,UAAUxgB,IAAIJ,EAAEyO,OAAOkW,KAAK,CACtf,SAASK,GAAG/jB,EAAEjB,GAAG,IAAIG,EAAE,CAAC,EAAiF,OAA/EA,EAAEc,EAAErW,eAAeoV,EAAEpV,cAAcuV,EAAE,SAASc,GAAG,SAASjB,EAAEG,EAAE,MAAMc,GAAG,MAAMjB,EAASG,CAAC,CAAC,IAAI8kB,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,CAAC,EAAEC,GAAG,CAAC,EACpF,SAASC,GAAGvkB,GAAG,GAAGqkB,GAAGrkB,GAAG,OAAOqkB,GAAGrkB,GAAG,IAAIgkB,GAAGhkB,GAAG,OAAOA,EAAE,IAAYd,EAARH,EAAEilB,GAAGhkB,GAAK,IAAId,KAAKH,EAAE,GAAGA,EAAEwD,eAAerD,IAAIA,KAAKolB,GAAG,OAAOD,GAAGrkB,GAAGjB,EAAEG,GAAG,OAAOc,CAAC,CAA/XqC,IAAKiiB,GAAG51B,SAASsC,cAAc,OAAO8a,MAAM,mBAAmBvd,gBAAgBy1B,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoBj2B,eAAey1B,GAAGI,cAAcvO,YAAwJ,IAAI4O,GAAGF,GAAG,gBAAgBG,GAAGH,GAAG,sBAAsBI,GAAGJ,GAAG,kBAAkBK,GAAGL,GAAG,iBAAiBM,GAAG,IAAI9Q,IAAI+Q,GAAG,smBAAsmB3hB,MAAM,KAC/lC,SAAS4hB,GAAG/kB,EAAEjB,GAAG8lB,GAAGx5B,IAAI2U,EAAEjB,GAAGmD,EAAGnD,EAAE,CAACiB,GAAG,CAAC,IAAI,IAAIglB,GAAG,EAAEA,GAAGF,GAAG95B,OAAOg6B,KAAK,CAAC,IAAIC,GAAGH,GAAGE,IAA2DD,GAApDE,GAAGt7B,cAAuD,MAAtCs7B,GAAG,GAAG3hB,cAAc2hB,GAAGzhB,MAAM,IAAiB,CAACuhB,GAAGN,GAAG,kBAAkBM,GAAGL,GAAG,wBAAwBK,GAAGJ,GAAG,oBAAoBI,GAAG,WAAW,iBAAiBA,GAAG,UAAU,WAAWA,GAAG,WAAW,UAAUA,GAAGH,GAAG,mBAAmBziB,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAC7cA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoEiB,MAAM,MAAMjB,EAAG,WAAW,uFAAuFiB,MAAM,MAAMjB,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2DiB,MAAM,MAAMjB,EAAG,qBAAqB,6DAA6DiB,MAAM,MAC/fjB,EAAG,sBAAsB,8DAA8DiB,MAAM,MAAM,IAAI+hB,GAAG,6NAA6N/hB,MAAM,KAAKgiB,GAAG,IAAInjB,IAAI,0CAA0CmB,MAAM,KAAK3Q,OAAO0yB,KACzZ,SAASE,GAAGplB,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAE/C,MAAM,gBAAgB+C,EAAEiX,cAAc/X,EAlDjE,SAAYc,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,EAAEC,EAAEC,GAA4B,GAAzB8P,GAAG7mB,MAAMoa,KAAK5X,WAAcgkB,GAAG,CAAC,IAAGA,GAAgC,MAAM5J,MAAM3F,EAAE,MAA1C,IAAIhU,EAAEwjB,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAG1jB,EAAE,CAAC,CAkDpE65B,CAAGlmB,EAAEJ,OAAE,EAAOiB,GAAGA,EAAEiX,cAAc,IAAI,CACxG,SAAS8I,GAAG/f,EAAEjB,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIG,EAAE,EAAEA,EAAEc,EAAEhV,OAAOkU,IAAI,CAAC,IAAIC,EAAEa,EAAEd,GAAGzS,EAAE0S,EAAEugB,MAAMvgB,EAAEA,EAAEwgB,UAAU3f,EAAE,CAAC,IAAItT,OAAE,EAAO,GAAGqS,EAAE,IAAI,IAAIK,EAAED,EAAEnU,OAAO,EAAE,GAAGoU,EAAEA,IAAI,CAAC,IAAIC,EAAEF,EAAEC,GAAGE,EAAED,EAAEimB,SAAS95B,EAAE6T,EAAE4X,cAA2B,GAAb5X,EAAEA,EAAEkmB,SAAYjmB,IAAI5S,GAAGD,EAAE4qB,uBAAuB,MAAMrX,EAAEolB,GAAG34B,EAAE4S,EAAE7T,GAAGkB,EAAE4S,CAAC,MAAM,IAAIF,EAAE,EAAEA,EAAED,EAAEnU,OAAOoU,IAAI,CAAoD,GAA5CE,GAAPD,EAAEF,EAAEC,IAAOkmB,SAAS95B,EAAE6T,EAAE4X,cAAc5X,EAAEA,EAAEkmB,SAAYjmB,IAAI5S,GAAGD,EAAE4qB,uBAAuB,MAAMrX,EAAEolB,GAAG34B,EAAE4S,EAAE7T,GAAGkB,EAAE4S,CAAC,CAAC,CAAC,CAAC,GAAG2P,GAAG,MAAMjP,EAAEkP,GAAGD,IAAG,EAAGC,GAAG,KAAKlP,CAAE,CAC5a,SAASwlB,GAAExlB,EAAEjB,GAAG,IAAIG,EAAEH,EAAE0mB,SAAI,IAASvmB,IAAIA,EAAEH,EAAE0mB,IAAI,IAAIzjB,KAAK,IAAI7C,EAAEa,EAAE,WAAWd,EAAEwmB,IAAIvmB,KAAKwmB,GAAG5mB,EAAEiB,EAAE,GAAE,GAAId,EAAEkD,IAAIjD,GAAG,CAAC,SAASymB,GAAG5lB,EAAEjB,EAAEG,GAAG,IAAIC,EAAE,EAAEJ,IAAII,GAAG,GAAGwmB,GAAGzmB,EAAEc,EAAEb,EAAEJ,EAAE,CAAC,IAAI8mB,GAAG,kBAAkBjU,KAAKkU,SAASj8B,SAAS,IAAI2Z,MAAM,GAAG,SAASuiB,GAAG/lB,GAAG,IAAIA,EAAE6lB,IAAI,CAAC7lB,EAAE6lB,KAAI,EAAG9jB,EAAG3Y,SAAQ,SAAS2V,GAAG,oBAAoBA,IAAIomB,GAAGO,IAAI3mB,IAAI6mB,GAAG7mB,GAAE,EAAGiB,GAAG4lB,GAAG7mB,GAAE,EAAGiB,GAAG,IAAG,IAAIjB,EAAE,IAAIiB,EAAEnQ,SAASmQ,EAAEA,EAAE9O,cAAc,OAAO6N,GAAGA,EAAE8mB,MAAM9mB,EAAE8mB,KAAI,EAAGD,GAAG,mBAAkB,EAAG7mB,GAAG,CAAC,CACjb,SAAS4mB,GAAG3lB,EAAEjB,EAAEG,EAAEC,GAAG,OAAOiX,GAAGrX,IAAI,KAAK,EAAE,IAAItS,EAAEmpB,GAAG,MAAM,KAAK,EAAEnpB,EAAEspB,GAAG,MAAM,QAAQtpB,EAAEqpB,GAAG5W,EAAEzS,EAAEu5B,KAAK,KAAKjnB,EAAEG,EAAEc,GAAGvT,OAAE,GAAQgiB,IAAI,eAAe1P,GAAG,cAAcA,GAAG,UAAUA,IAAItS,GAAE,GAAI0S,OAAE,IAAS1S,EAAEuT,EAAE2O,iBAAiB5P,EAAEG,EAAE,CAAC+mB,SAAQ,EAAGC,QAAQz5B,IAAIuT,EAAE2O,iBAAiB5P,EAAEG,GAAE,QAAI,IAASzS,EAAEuT,EAAE2O,iBAAiB5P,EAAEG,EAAE,CAACgnB,QAAQz5B,IAAIuT,EAAE2O,iBAAiB5P,EAAEG,GAAE,EAAG,CAClV,SAAS8W,GAAGhW,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,IAAIC,EAAEyS,EAAE,GAAG,KAAO,EAAFJ,IAAM,KAAO,EAAFA,IAAM,OAAOI,EAAEa,EAAE,OAAO,CAAC,GAAG,OAAOb,EAAE,OAAO,IAAIC,EAAED,EAAErD,IAAI,GAAG,IAAIsD,GAAG,IAAIA,EAAE,CAAC,IAAIC,EAAEF,EAAE6O,UAAUgH,cAAc,GAAG3V,IAAI5S,GAAG,IAAI4S,EAAExP,UAAUwP,EAAEtI,aAAatK,EAAE,MAAM,GAAG,IAAI2S,EAAE,IAAIA,EAAED,EAAEoQ,OAAO,OAAOnQ,GAAG,CAAC,IAAIE,EAAEF,EAAEtD,IAAI,IAAG,IAAIwD,GAAG,IAAIA,MAAKA,EAAEF,EAAE4O,UAAUgH,iBAAkBvoB,GAAG,IAAI6S,EAAEzP,UAAUyP,EAAEvI,aAAatK,GAAE,OAAO2S,EAAEA,EAAEmQ,MAAM,CAAC,KAAK,OAAOlQ,GAAG,CAAS,GAAG,QAAXD,EAAEyV,GAAGxV,IAAe,OAAe,GAAG,KAAXC,EAAEF,EAAEtD,MAAc,IAAIwD,EAAE,CAACH,EAAEzS,EAAE0S,EAAE,SAASY,CAAC,CAACX,EAAEA,EAAEtI,UAAU,CAAC,CAACoI,EAAEA,EAAEoQ,MAAM,CAAChB,IAAG,WAAW,IAAIpP,EAAEzS,EAAED,EAAE8gB,GAAGrO,GAAGE,EAAE,GACpfY,EAAE,CAAC,IAAIX,EAAEwlB,GAAG/3B,IAAIkT,GAAG,QAAG,IAASX,EAAE,CAAC,IAAIC,EAAE+Y,GAAGnsB,EAAE8T,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAIyW,GAAGvX,GAAG,MAAMc,EAAE,IAAK,UAAU,IAAK,QAAQV,EAAE+c,GAAG,MAAM,IAAK,UAAUnwB,EAAE,QAAQoT,EAAE2a,GAAG,MAAM,IAAK,WAAW/tB,EAAE,OAAOoT,EAAE2a,GAAG,MAAM,IAAK,aAAa,IAAK,YAAY3a,EAAE2a,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAI/a,EAAEqa,OAAO,MAAMvZ,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcV,EAAEwa,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOxa,EAC1iBya,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAaza,EAAE0d,GAAG,MAAM,KAAKyH,GAAG,KAAKC,GAAG,KAAKC,GAAGrlB,EAAE4a,GAAG,MAAM,KAAK0K,GAAGtlB,EAAE8d,GAAG,MAAM,IAAK,SAAS9d,EAAEmZ,GAAG,MAAM,IAAK,QAAQnZ,EAAEue,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQve,EAAEkb,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYlb,EAAEgd,GAAG,IAAI3c,EAAE,KAAO,EAAFZ,GAAKonB,GAAGxmB,GAAG,WAAWK,EAAEpX,EAAE+W,EAAE,OAAON,EAAEA,EAAE,UAAU,KAAKA,EAAEM,EAAE,GAAG,IAAI,IAAQM,EAAJJ,EAAEV,EAAI,OAC/eU,GAAG,CAAK,IAAIumB,GAARnmB,EAAEJ,GAAUmO,UAAsF,GAA5E,IAAI/N,EAAEnE,KAAK,OAAOsqB,IAAInmB,EAAEmmB,EAAE,OAAOx9B,IAAc,OAAVw9B,EAAE5X,GAAG3O,EAAEjX,KAAY+W,EAAEnW,KAAK68B,GAAGxmB,EAAEumB,EAAEnmB,MAASkmB,EAAE,MAAMtmB,EAAEA,EAAE0P,MAAM,CAAC,EAAE5P,EAAE3U,SAASqU,EAAE,IAAIC,EAAED,EAAEnT,EAAE,KAAKgT,EAAEzS,GAAG2S,EAAE5V,KAAK,CAACk2B,MAAMrgB,EAAEsgB,UAAUhgB,IAAI,CAAC,CAAC,GAAG,KAAO,EAAFZ,GAAK,CAA4E,GAAnCO,EAAE,aAAaU,GAAG,eAAeA,KAAtEX,EAAE,cAAcW,GAAG,gBAAgBA,IAA2Cd,IAAIoO,MAAKphB,EAAEgT,EAAEua,eAAeva,EAAEwa,eAAe7E,GAAG3oB,KAAIA,EAAEo6B,OAAgBhnB,GAAGD,KAAGA,EAAE5S,EAAE8B,SAAS9B,EAAEA,GAAG4S,EAAE5S,EAAEyE,eAAemO,EAAEkjB,aAAaljB,EAAEknB,aAAah4B,OAAU+Q,GAAqCA,EAAEH,EAAiB,QAAfjT,GAAnCA,EAAEgT,EAAEua,eAAeva,EAAEya,WAAkB9E,GAAG3oB,GAAG,QAC9dA,KAARi6B,EAAE9W,GAAGnjB,KAAU,IAAIA,EAAE4P,KAAK,IAAI5P,EAAE4P,OAAK5P,EAAE,QAAUoT,EAAE,KAAKpT,EAAEiT,GAAKG,IAAIpT,GAAE,CAAgU,GAA/TyT,EAAEma,GAAGsM,EAAE,eAAex9B,EAAE,eAAeiX,EAAE,QAAW,eAAeG,GAAG,gBAAgBA,IAAEL,EAAE2c,GAAG8J,EAAE,iBAAiBx9B,EAAE,iBAAiBiX,EAAE,WAAUsmB,EAAE,MAAM7mB,EAAED,EAAE4gB,GAAG3gB,GAAGW,EAAE,MAAM/T,EAAEmT,EAAE4gB,GAAG/zB,IAAGmT,EAAE,IAAIM,EAAEymB,EAAEvmB,EAAE,QAAQP,EAAEJ,EAAEzS,IAAK+gB,OAAO2Y,EAAE9mB,EAAEoa,cAAcxZ,EAAEmmB,EAAE,KAAKvR,GAAGpoB,KAAK0S,KAAIQ,EAAE,IAAIA,EAAE/W,EAAEiX,EAAE,QAAQ3T,EAAEgT,EAAEzS,IAAK+gB,OAAOvN,EAAEN,EAAE8Z,cAAc0M,EAAEC,EAAEzmB,GAAGwmB,EAAEC,EAAK9mB,GAAGpT,EAAE6S,EAAE,CAAa,IAARnW,EAAEsD,EAAE2T,EAAE,EAAMI,EAAhBN,EAAEL,EAAkBW,EAAEA,EAAEumB,GAAGvmB,GAAGJ,IAAQ,IAAJI,EAAE,EAAMmmB,EAAEx9B,EAAEw9B,EAAEA,EAAEI,GAAGJ,GAAGnmB,IAAI,KAAK,EAAEJ,EAAEI,GAAGN,EAAE6mB,GAAG7mB,GAAGE,IAAI,KAAK,EAAEI,EAAEJ,GAAGjX,EACpf49B,GAAG59B,GAAGqX,IAAI,KAAKJ,KAAK,CAAC,GAAGF,IAAI/W,GAAG,OAAOA,GAAG+W,IAAI/W,EAAE0mB,UAAU,MAAMvQ,EAAEY,EAAE6mB,GAAG7mB,GAAG/W,EAAE49B,GAAG59B,EAAE,CAAC+W,EAAE,IAAI,MAAMA,EAAE,KAAK,OAAOL,GAAGmnB,GAAGrnB,EAAEC,EAAEC,EAAEK,GAAE,GAAI,OAAOzT,GAAG,OAAOi6B,GAAGM,GAAGrnB,EAAE+mB,EAAEj6B,EAAEyT,GAAE,EAAG,CAA8D,GAAG,YAA1CL,GAAjBD,EAAEF,EAAE8gB,GAAG9gB,GAAG5Q,QAAWuK,UAAUuG,EAAEvG,SAASnP,gBAA+B,UAAU2V,GAAG,SAASD,EAAEpC,KAAK,IAAIypB,EAAGxG,QAAQ,GAAGX,GAAGlgB,GAAG,GAAG8gB,GAAGuG,EAAG3F,OAAO,CAAC2F,EAAG7F,GAAG,IAAI8F,EAAGhG,EAAE,MAAMrhB,EAAED,EAAEvG,WAAW,UAAUwG,EAAE3V,gBAAgB,aAAa0V,EAAEpC,MAAM,UAAUoC,EAAEpC,QAAQypB,EAAG5F,IACrV,OAD4V4F,IAAKA,EAAGA,EAAG1mB,EAAEb,IAAKqgB,GAAGpgB,EAAEsnB,EAAGxnB,EAAEzS,IAAWk6B,GAAIA,EAAG3mB,EAAEX,EAAEF,GAAG,aAAaa,IAAI2mB,EAAGtnB,EAAE0H,gBAClf4f,EAAGxf,YAAY,WAAW9H,EAAEpC,MAAMqK,GAAGjI,EAAE,SAASA,EAAE/S,QAAOq6B,EAAGxnB,EAAE8gB,GAAG9gB,GAAG5Q,OAAcyR,GAAG,IAAK,WAAauf,GAAGoH,IAAK,SAASA,EAAG7E,mBAAgB4B,GAAGiD,EAAGhD,GAAGxkB,EAAEykB,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG1kB,EAAEF,EAAEzS,GAAG,MAAM,IAAK,kBAAkB,GAAGg3B,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAG1kB,EAAEF,EAAEzS,GAAG,IAAIm6B,EAAG,GAAG7I,GAAGhf,EAAE,CAAC,OAAOiB,GAAG,IAAK,mBAAmB,IAAI6mB,EAAG,qBAAqB,MAAM9nB,EAAE,IAAK,iBAAiB8nB,EAAG,mBACpe,MAAM9nB,EAAE,IAAK,oBAAoB8nB,EAAG,sBAAsB,MAAM9nB,EAAE8nB,OAAG,CAAM,MAAMrI,GAAGF,GAAGte,EAAEd,KAAK2nB,EAAG,oBAAoB,YAAY7mB,GAAG,MAAMd,EAAEwX,UAAUmQ,EAAG,sBAAsBA,IAAK1I,IAAI,OAAOjf,EAAEid,SAASqC,IAAI,uBAAuBqI,EAAG,qBAAqBA,GAAIrI,KAAKoI,EAAGpQ,OAAYF,GAAG,UAARD,GAAG5pB,GAAkB4pB,GAAG/pB,MAAM+pB,GAAGtd,YAAYylB,IAAG,IAAiB,GAAZmI,EAAGlH,GAAGtgB,EAAE0nB,IAAS77B,SAAS67B,EAAG,IAAIpM,GAAGoM,EAAG7mB,EAAE,KAAKd,EAAEzS,GAAG2S,EAAE5V,KAAK,CAACk2B,MAAMmH,EAAGlH,UAAUgH,IAAKC,EAAGC,EAAGvtB,KAAKstB,EAAa,QAATA,EAAGrI,GAAGrf,MAAe2nB,EAAGvtB,KAAKstB,MAAUA,EAAG1I,GA5BhM,SAAYle,EAAEjB,GAAG,OAAOiB,GAAG,IAAK,iBAAiB,OAAOue,GAAGxf,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEqd,MAAa,MAAKiC,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOpe,EAAEjB,EAAEzF,QAAS8kB,IAAIC,GAAG,KAAKre,EAAE,QAAQ,OAAO,KAAK,CA4BE8mB,CAAG9mB,EAAEd,GA3Bzd,SAAYc,EAAEjB,GAAG,GAAGyf,GAAG,MAAM,mBAAmBxe,IAAI+d,IAAIO,GAAGte,EAAEjB,IAAIiB,EAAEwW,KAAKD,GAAGD,GAAGD,GAAG,KAAKmI,IAAG,EAAGxe,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKjB,EAAEka,SAASla,EAAEoa,QAAQpa,EAAEqa,UAAUra,EAAEka,SAASla,EAAEoa,OAAO,CAAC,GAAGpa,EAAEgoB,MAAM,EAAEhoB,EAAEgoB,KAAK/7B,OAAO,OAAO+T,EAAEgoB,KAAK,GAAGhoB,EAAEqd,MAAM,OAAO1yB,OAAOqyB,aAAahd,EAAEqd,MAAM,CAAC,OAAO,KAAK,IAAK,iBAAiB,OAAO+B,IAAI,OAAOpf,EAAEod,OAAO,KAAKpd,EAAEzF,KAAyB,CA2BqF0tB,CAAGhnB,EAAEd,MACje,GADoeC,EAAEsgB,GAAGtgB,EAAE,kBACvenU,SAASyB,EAAE,IAAIguB,GAAG,gBAAgB,cAAc,KAAKvb,EAAEzS,GAAG2S,EAAE5V,KAAK,CAACk2B,MAAMjzB,EAAEkzB,UAAUxgB,IAAI1S,EAAE6M,KAAKstB,GAAG,CAAC7G,GAAG3gB,EAAEL,EAAE,GAAE,CAAC,SAASsnB,GAAGrmB,EAAEjB,EAAEG,GAAG,MAAM,CAAComB,SAAStlB,EAAEulB,SAASxmB,EAAEkY,cAAc/X,EAAE,CAAC,SAASugB,GAAGzf,EAAEjB,GAAG,IAAI,IAAIG,EAAEH,EAAE,UAAUI,EAAE,GAAG,OAAOa,GAAG,CAAC,IAAIvT,EAAEuT,EAAEtT,EAAED,EAAEuhB,UAAU,IAAIvhB,EAAEqP,KAAK,OAAOpP,IAAID,EAAEC,EAAY,OAAVA,EAAE8hB,GAAGxO,EAAEd,KAAYC,EAAE8nB,QAAQZ,GAAGrmB,EAAEtT,EAAED,IAAc,OAAVC,EAAE8hB,GAAGxO,EAAEjB,KAAYI,EAAE3V,KAAK68B,GAAGrmB,EAAEtT,EAAED,KAAKuT,EAAEA,EAAEuP,MAAM,CAAC,OAAOpQ,CAAC,CAAC,SAASqnB,GAAGxmB,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAEuP,aAAavP,GAAG,IAAIA,EAAElE,KAAK,OAAOkE,GAAI,IAAI,CACnd,SAASymB,GAAGzmB,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,IAAI,IAAIC,EAAEqS,EAAEgY,WAAW3X,EAAE,GAAG,OAAOF,GAAGA,IAAIC,GAAG,CAAC,IAAIE,EAAEH,EAAEI,EAAED,EAAEiQ,UAAU9jB,EAAE6T,EAAE2O,UAAU,GAAG,OAAO1O,GAAGA,IAAIH,EAAE,MAAM,IAAIE,EAAEvD,KAAK,OAAOtQ,IAAI6T,EAAE7T,EAAEiB,EAAa,OAAV6S,EAAEkP,GAAGtP,EAAExS,KAAY0S,EAAE6nB,QAAQZ,GAAGnnB,EAAEI,EAAED,IAAK5S,GAAc,OAAV6S,EAAEkP,GAAGtP,EAAExS,KAAY0S,EAAE5V,KAAK68B,GAAGnnB,EAAEI,EAAED,KAAMH,EAAEA,EAAEqQ,MAAM,CAAC,IAAInQ,EAAEpU,QAAQgV,EAAExW,KAAK,CAACk2B,MAAM3gB,EAAE4gB,UAAUvgB,GAAG,CAAC,IAAI8nB,GAAG,SAASC,GAAG,iBAAiB,SAASC,GAAGpnB,GAAG,OAAO,kBAAkBA,EAAEA,EAAE,GAAGA,GAAG/V,QAAQi9B,GAAG,MAAMj9B,QAAQk9B,GAAG,GAAG,CAAC,SAASE,GAAGrnB,EAAEjB,EAAEG,GAAW,GAARH,EAAEqoB,GAAGroB,GAAMqoB,GAAGpnB,KAAKjB,GAAGG,EAAE,MAAMiG,MAAM3F,EAAE,KAAM,CAAC,SAAS8nB,KAAK,CAC9e,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGznB,EAAEjB,GAAG,MAAM,aAAaiB,GAAG,aAAaA,GAAG,kBAAkBjB,EAAEkJ,UAAU,kBAAkBlJ,EAAEkJ,UAAU,kBAAkBlJ,EAAEiJ,yBAAyB,OAAOjJ,EAAEiJ,yBAAyB,MAAMjJ,EAAEiJ,wBAAwB0f,MAAM,CAC5P,IAAIC,GAAG,oBAAoBC,WAAWA,gBAAW,EAAOC,GAAG,oBAAoBC,aAAaA,kBAAa,EAAOC,GAAG,oBAAoBC,QAAQA,aAAQ,EAAOC,GAAG,oBAAoBC,eAAeA,eAAe,qBAAqBH,GAAG,SAAS/nB,GAAG,OAAO+nB,GAAGI,QAAQ,MAAMC,KAAKpoB,GAAGqoB,MAAMC,GAAG,EAAEX,GAAG,SAASW,GAAGtoB,GAAG4nB,YAAW,WAAW,MAAM5nB,CAAE,GAAE,CACpV,SAASuoB,GAAGvoB,EAAEjB,GAAG,IAAIG,EAAEH,EAAEI,EAAE,EAAE,EAAE,CAAC,IAAI1S,EAAEyS,EAAEmiB,YAA6B,GAAjBrhB,EAAEhJ,YAAYkI,GAAMzS,GAAG,IAAIA,EAAEoD,SAAS,GAAY,QAATqP,EAAEzS,EAAE6M,MAAc,CAAC,GAAG,IAAI6F,EAA0B,OAAvBa,EAAEhJ,YAAYvK,QAAG+oB,GAAGzW,GAAUI,GAAG,KAAK,MAAMD,GAAG,OAAOA,GAAG,OAAOA,GAAGC,IAAID,EAAEzS,CAAC,OAAOyS,GAAGsW,GAAGzW,EAAE,CAAC,SAASypB,GAAGxoB,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEqhB,YAAY,CAAC,IAAItiB,EAAEiB,EAAEnQ,SAAS,GAAG,IAAIkP,GAAG,IAAIA,EAAE,MAAM,GAAG,IAAIA,EAAE,CAAU,GAAG,OAAZA,EAAEiB,EAAE1G,OAAiB,OAAOyF,GAAG,OAAOA,EAAE,MAAM,GAAG,OAAOA,EAAE,OAAO,IAAI,CAAC,CAAC,OAAOiB,CAAC,CACjY,SAASyoB,GAAGzoB,GAAGA,EAAEA,EAAE0oB,gBAAgB,IAAI,IAAI3pB,EAAE,EAAEiB,GAAG,CAAC,GAAG,IAAIA,EAAEnQ,SAAS,CAAC,IAAIqP,EAAEc,EAAE1G,KAAK,GAAG,MAAM4F,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIH,EAAE,OAAOiB,EAAEjB,GAAG,KAAK,OAAOG,GAAGH,GAAG,CAACiB,EAAEA,EAAE0oB,eAAe,CAAC,OAAO,IAAI,CAAC,IAAIC,GAAG/W,KAAKkU,SAASj8B,SAAS,IAAI2Z,MAAM,GAAGolB,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGrC,GAAG,oBAAoBqC,GAAGlD,GAAG,iBAAiBkD,GAAGG,GAAG,oBAAoBH,GAAGI,GAAG,kBAAkBJ,GAClX,SAAS9T,GAAG7U,GAAG,IAAIjB,EAAEiB,EAAE4oB,IAAI,GAAG7pB,EAAE,OAAOA,EAAE,IAAI,IAAIG,EAAEc,EAAEjJ,WAAWmI,GAAG,CAAC,GAAGH,EAAEG,EAAEonB,KAAKpnB,EAAE0pB,IAAI,CAAe,GAAd1pB,EAAEH,EAAEuQ,UAAa,OAAOvQ,EAAE+Q,OAAO,OAAO5Q,GAAG,OAAOA,EAAE4Q,MAAM,IAAI9P,EAAEyoB,GAAGzoB,GAAG,OAAOA,GAAG,CAAC,GAAGd,EAAEc,EAAE4oB,IAAI,OAAO1pB,EAAEc,EAAEyoB,GAAGzoB,EAAE,CAAC,OAAOjB,CAAC,CAAKG,GAAJc,EAAEd,GAAMnI,UAAU,CAAC,OAAO,IAAI,CAAC,SAASgX,GAAG/N,GAAkB,QAAfA,EAAEA,EAAE4oB,KAAK5oB,EAAEsmB,MAAc,IAAItmB,EAAElE,KAAK,IAAIkE,EAAElE,KAAK,KAAKkE,EAAElE,KAAK,IAAIkE,EAAElE,IAAI,KAAKkE,CAAC,CAAC,SAASigB,GAAGjgB,GAAG,GAAG,IAAIA,EAAElE,KAAK,IAAIkE,EAAElE,IAAI,OAAOkE,EAAEgO,UAAU,MAAM7I,MAAM3F,EAAE,IAAK,CAAC,SAASyO,GAAGjO,GAAG,OAAOA,EAAE6oB,KAAK,IAAI,CAAC,IAAIG,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAGlpB,GAAG,MAAM,CAACgQ,QAAQhQ,EAAE,CACve,SAASmpB,GAAEnpB,GAAG,EAAEipB,KAAKjpB,EAAEgQ,QAAQgZ,GAAGC,IAAID,GAAGC,IAAI,KAAKA,KAAK,CAAC,SAASG,GAAEppB,EAAEjB,GAAGkqB,KAAKD,GAAGC,IAAIjpB,EAAEgQ,QAAQhQ,EAAEgQ,QAAQjR,CAAC,CAAC,IAAIsqB,GAAG,CAAC,EAAEC,GAAEJ,GAAGG,IAAIE,GAAGL,IAAG,GAAIM,GAAGH,GAAG,SAASI,GAAGzpB,EAAEjB,GAAG,IAAIG,EAAEc,EAAE/C,KAAKR,aAAa,IAAIyC,EAAE,OAAOmqB,GAAG,IAAIlqB,EAAEa,EAAEgO,UAAU,GAAG7O,GAAGA,EAAEuqB,8CAA8C3qB,EAAE,OAAOI,EAAEwqB,0CAA0C,IAASj9B,EAALD,EAAE,CAAC,EAAI,IAAIC,KAAKwS,EAAEzS,EAAEC,GAAGqS,EAAErS,GAAoH,OAAjHyS,KAAIa,EAAEA,EAAEgO,WAAY0b,4CAA4C3qB,EAAEiB,EAAE2pB,0CAA0Cl9B,GAAUA,CAAC,CAC9d,SAASm9B,GAAG5pB,GAAyB,OAAO,QAA7BA,EAAEA,EAAEzD,yBAAmC,IAASyD,CAAC,CAAC,SAAS6pB,KAAKV,GAAEI,IAAIJ,GAAEG,GAAE,CAAC,SAASQ,GAAG9pB,EAAEjB,EAAEG,GAAG,GAAGoqB,GAAEtZ,UAAUqZ,GAAG,MAAMlkB,MAAM3F,EAAE,MAAM4pB,GAAEE,GAAEvqB,GAAGqqB,GAAEG,GAAGrqB,EAAE,CAAC,SAAS6qB,GAAG/pB,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAEgO,UAAgC,GAAtBjP,EAAEA,EAAExC,kBAAqB,oBAAoB4C,EAAE6qB,gBAAgB,OAAO9qB,EAAwB,IAAI,IAAIzS,KAA9B0S,EAAEA,EAAE6qB,kBAAiC,KAAKv9B,KAAKsS,GAAG,MAAMoG,MAAM3F,EAAE,IAAIsG,EAAG9F,IAAI,UAAUvT,IAAI,OAAO0T,EAAE,CAAC,EAAEjB,EAAEC,EAAE,CACxX,SAAS8qB,GAAGjqB,GAA2G,OAAxGA,GAAGA,EAAEA,EAAEgO,YAAYhO,EAAEkqB,2CAA2Cb,GAAGG,GAAGF,GAAEtZ,QAAQoZ,GAAEE,GAAEtpB,GAAGopB,GAAEG,GAAGA,GAAGvZ,UAAe,CAAE,CAAC,SAASma,GAAGnqB,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAEgO,UAAU,IAAI7O,EAAE,MAAMgG,MAAM3F,EAAE,MAAMN,GAAGc,EAAE+pB,GAAG/pB,EAAEjB,EAAEyqB,IAAIrqB,EAAE+qB,0CAA0ClqB,EAAEmpB,GAAEI,IAAIJ,GAAEG,IAAGF,GAAEE,GAAEtpB,IAAImpB,GAAEI,IAAIH,GAAEG,GAAGrqB,EAAE,CAAC,IAAIkrB,GAAG,KAAKC,IAAG,EAAGC,IAAG,EAAG,SAASC,GAAGvqB,GAAG,OAAOoqB,GAAGA,GAAG,CAACpqB,GAAGoqB,GAAG5gC,KAAKwW,EAAE,CAChW,SAASwqB,KAAK,IAAIF,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAItqB,EAAE,EAAEjB,EAAEmU,GAAE,IAAI,IAAIhU,EAAEkrB,GAAG,IAAIlX,GAAE,EAAElT,EAAEd,EAAElU,OAAOgV,IAAI,CAAC,IAAIb,EAAED,EAAEc,GAAG,GAAGb,EAAEA,GAAE,SAAU,OAAOA,EAAE,CAACirB,GAAG,KAAKC,IAAG,CAAE,CAAC,MAAM59B,GAAG,MAAM,OAAO29B,KAAKA,GAAGA,GAAG5mB,MAAMxD,EAAE,IAAImQ,GAAGY,GAAGyZ,IAAI/9B,CAAE,CAAC,QAAQymB,GAAEnU,EAAEurB,IAAG,CAAE,CAAC,CAAC,OAAO,IAAI,CAAC,IAAIG,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAGC,GAAG,EAAEC,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAG,SAASC,GAAGlrB,EAAEjB,GAAG0rB,GAAGC,MAAME,GAAGH,GAAGC,MAAMC,GAAGA,GAAG3qB,EAAE4qB,GAAG7rB,CAAC,CACjV,SAASosB,GAAGnrB,EAAEjB,EAAEG,GAAG2rB,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGA,GAAG/qB,EAAE,IAAIb,EAAE6rB,GAAGhrB,EAAEirB,GAAG,IAAIx+B,EAAE,GAAGklB,GAAGxS,GAAG,EAAEA,KAAK,GAAG1S,GAAGyS,GAAG,EAAE,IAAIxS,EAAE,GAAGilB,GAAG5S,GAAGtS,EAAE,GAAG,GAAGC,EAAE,CAAC,IAAI0S,EAAE3S,EAAEA,EAAE,EAAEC,GAAGyS,GAAG,GAAGC,GAAG,GAAGvV,SAAS,IAAIsV,IAAIC,EAAE3S,GAAG2S,EAAE4rB,GAAG,GAAG,GAAGrZ,GAAG5S,GAAGtS,EAAEyS,GAAGzS,EAAE0S,EAAE8rB,GAAGv+B,EAAEsT,CAAC,MAAMgrB,GAAG,GAAGt+B,EAAEwS,GAAGzS,EAAE0S,EAAE8rB,GAAGjrB,CAAC,CAAC,SAASorB,GAAGprB,GAAG,OAAOA,EAAEuP,SAAS2b,GAAGlrB,EAAE,GAAGmrB,GAAGnrB,EAAE,EAAE,GAAG,CAAC,SAASqrB,GAAGrrB,GAAG,KAAKA,IAAI2qB,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,KAAK,KAAK1qB,IAAI+qB,IAAIA,GAAGF,KAAKC,IAAID,GAAGC,IAAI,KAAKG,GAAGJ,KAAKC,IAAID,GAAGC,IAAI,KAAKE,GAAGH,KAAKC,IAAID,GAAGC,IAAI,IAAI,CAAC,IAAIQ,GAAG,KAAKC,GAAG,KAAKC,IAAE,EAAGC,GAAG,KACje,SAASC,GAAG1rB,EAAEjB,GAAG,IAAIG,EAAEysB,GAAG,EAAE,KAAK,KAAK,GAAGzsB,EAAE0sB,YAAY,UAAU1sB,EAAE8O,UAAUjP,EAAEG,EAAEqQ,OAAOvP,EAAgB,QAAdjB,EAAEiB,EAAE6rB,YAAoB7rB,EAAE6rB,UAAU,CAAC3sB,GAAGc,EAAEwP,OAAO,IAAIzQ,EAAEvV,KAAK0V,EAAE,CACxJ,SAAS4sB,GAAG9rB,EAAEjB,GAAG,OAAOiB,EAAElE,KAAK,KAAK,EAAE,IAAIoD,EAAEc,EAAE/C,KAAyE,OAAO,QAA3E8B,EAAE,IAAIA,EAAElP,UAAUqP,EAAEvV,gBAAgBoV,EAAEjG,SAASnP,cAAc,KAAKoV,KAAmBiB,EAAEgO,UAAUjP,EAAEusB,GAAGtrB,EAAEurB,GAAG/C,GAAGzpB,EAAE3D,aAAY,GAAO,KAAK,EAAE,OAAoD,QAA7C2D,EAAE,KAAKiB,EAAE+rB,cAAc,IAAIhtB,EAAElP,SAAS,KAAKkP,KAAYiB,EAAEgO,UAAUjP,EAAEusB,GAAGtrB,EAAEurB,GAAG,MAAK,GAAO,KAAK,GAAG,OAA+B,QAAxBxsB,EAAE,IAAIA,EAAElP,SAAS,KAAKkP,KAAYG,EAAE,OAAO6rB,GAAG,CAAC9U,GAAG+U,GAAGgB,SAASf,IAAI,KAAKjrB,EAAE0P,cAAc,CAACC,WAAW5Q,EAAEktB,YAAY/sB,EAAEgtB,UAAU,aAAYhtB,EAAEysB,GAAG,GAAG,KAAK,KAAK,IAAK3d,UAAUjP,EAAEG,EAAEqQ,OAAOvP,EAAEA,EAAE8P,MAAM5Q,EAAEosB,GAAGtrB,EAAEurB,GAClf,MAAK,GAAO,QAAQ,OAAM,EAAG,CAAC,SAASY,GAAGnsB,GAAG,OAAO,KAAY,EAAPA,EAAEosB,OAAS,KAAa,IAARpsB,EAAEwP,MAAU,CAAC,SAAS6c,GAAGrsB,GAAG,GAAGwrB,GAAE,CAAC,IAAIzsB,EAAEwsB,GAAG,GAAGxsB,EAAE,CAAC,IAAIG,EAAEH,EAAE,IAAI+sB,GAAG9rB,EAAEjB,GAAG,CAAC,GAAGotB,GAAGnsB,GAAG,MAAMmF,MAAM3F,EAAE,MAAMT,EAAEypB,GAAGtpB,EAAEmiB,aAAa,IAAIliB,EAAEmsB,GAAGvsB,GAAG+sB,GAAG9rB,EAAEjB,GAAG2sB,GAAGvsB,EAAED,IAAIc,EAAEwP,OAAe,KAATxP,EAAEwP,MAAY,EAAEgc,IAAE,EAAGF,GAAGtrB,EAAE,CAAC,KAAK,CAAC,GAAGmsB,GAAGnsB,GAAG,MAAMmF,MAAM3F,EAAE,MAAMQ,EAAEwP,OAAe,KAATxP,EAAEwP,MAAY,EAAEgc,IAAE,EAAGF,GAAGtrB,CAAC,CAAC,CAAC,CAAC,SAASssB,GAAGtsB,GAAG,IAAIA,EAAEA,EAAEuP,OAAO,OAAOvP,GAAG,IAAIA,EAAElE,KAAK,IAAIkE,EAAElE,KAAK,KAAKkE,EAAElE,KAAKkE,EAAEA,EAAEuP,OAAO+b,GAAGtrB,CAAC,CACha,SAASusB,GAAGvsB,GAAG,GAAGA,IAAIsrB,GAAG,OAAM,EAAG,IAAIE,GAAE,OAAOc,GAAGtsB,GAAGwrB,IAAE,GAAG,EAAG,IAAIzsB,EAAkG,IAA/FA,EAAE,IAAIiB,EAAElE,QAAQiD,EAAE,IAAIiB,EAAElE,OAAgBiD,EAAE,UAAXA,EAAEiB,EAAE/C,OAAmB,SAAS8B,IAAI0oB,GAAGznB,EAAE/C,KAAK+C,EAAEwsB,gBAAmBztB,IAAIA,EAAEwsB,IAAI,CAAC,GAAGY,GAAGnsB,GAAG,MAAMysB,KAAKtnB,MAAM3F,EAAE,MAAM,KAAKT,GAAG2sB,GAAG1rB,EAAEjB,GAAGA,EAAEypB,GAAGzpB,EAAEsiB,YAAY,CAAO,GAANiL,GAAGtsB,GAAM,KAAKA,EAAElE,IAAI,CAAgD,KAA7BkE,EAAE,QAApBA,EAAEA,EAAE0P,eAAyB1P,EAAE2P,WAAW,MAAW,MAAMxK,MAAM3F,EAAE,MAAMQ,EAAE,CAAiB,IAAhBA,EAAEA,EAAEqhB,YAAgBtiB,EAAE,EAAEiB,GAAG,CAAC,GAAG,IAAIA,EAAEnQ,SAAS,CAAC,IAAIqP,EAAEc,EAAE1G,KAAK,GAAG,OAAO4F,EAAE,CAAC,GAAG,IAAIH,EAAE,CAACwsB,GAAG/C,GAAGxoB,EAAEqhB,aAAa,MAAMrhB,CAAC,CAACjB,GAAG,KAAK,MAAMG,GAAG,OAAOA,GAAG,OAAOA,GAAGH,GAAG,CAACiB,EAAEA,EAAEqhB,WAAW,CAACkK,GACjgB,IAAI,CAAC,MAAMA,GAAGD,GAAG9C,GAAGxoB,EAAEgO,UAAUqT,aAAa,KAAK,OAAM,CAAE,CAAC,SAASoL,KAAK,IAAI,IAAIzsB,EAAEurB,GAAGvrB,GAAGA,EAAEwoB,GAAGxoB,EAAEqhB,YAAY,CAAC,SAASqL,KAAKnB,GAAGD,GAAG,KAAKE,IAAE,CAAE,CAAC,SAASmB,GAAG3sB,GAAG,OAAOyrB,GAAGA,GAAG,CAACzrB,GAAGyrB,GAAGjiC,KAAKwW,EAAE,CAAC,IAAI4sB,GAAG9oB,EAAG4R,wBAAwB,SAASmX,GAAG7sB,EAAEjB,GAAG,GAAGiB,GAAGA,EAAEtD,aAAa,CAA4B,IAAI,IAAIwC,KAAnCH,EAAEoB,EAAE,CAAC,EAAEpB,GAAGiB,EAAEA,EAAEtD,kBAA4B,IAASqC,EAAEG,KAAKH,EAAEG,GAAGc,EAAEd,IAAI,OAAOH,CAAC,CAAC,OAAOA,CAAC,CAAC,IAAI+tB,GAAG5D,GAAG,MAAM6D,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,IAAI,CAAC,SAASI,GAAGntB,GAAG,IAAIjB,EAAE+tB,GAAG9c,QAAQmZ,GAAE2D,IAAI9sB,EAAEotB,cAAcruB,CAAC,CACjd,SAASsuB,GAAGrtB,EAAEjB,EAAEG,GAAG,KAAK,OAAOc,GAAG,CAAC,IAAIb,EAAEa,EAAEsP,UAA+H,IAApHtP,EAAEstB,WAAWvuB,KAAKA,GAAGiB,EAAEstB,YAAYvuB,EAAE,OAAOI,IAAIA,EAAEmuB,YAAYvuB,IAAI,OAAOI,IAAIA,EAAEmuB,WAAWvuB,KAAKA,IAAII,EAAEmuB,YAAYvuB,GAAMiB,IAAId,EAAE,MAAMc,EAAEA,EAAEuP,MAAM,CAAC,CAAC,SAASge,GAAGvtB,EAAEjB,GAAGguB,GAAG/sB,EAAEitB,GAAGD,GAAG,KAAsB,QAAjBhtB,EAAEA,EAAEwtB,eAAuB,OAAOxtB,EAAEytB,eAAe,KAAKztB,EAAE0tB,MAAM3uB,KAAK4uB,IAAG,GAAI3tB,EAAEytB,aAAa,KAAK,CACtU,SAASG,GAAG5tB,GAAG,IAAIjB,EAAEiB,EAAEotB,cAAc,GAAGH,KAAKjtB,EAAE,GAAGA,EAAE,CAAC6tB,QAAQ7tB,EAAE8tB,cAAc/uB,EAAEgvB,KAAK,MAAM,OAAOf,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAM5nB,MAAM3F,EAAE,MAAMwtB,GAAGhtB,EAAE+sB,GAAGS,aAAa,CAACE,MAAM,EAAED,aAAaztB,EAAE,MAAMgtB,GAAGA,GAAGe,KAAK/tB,EAAE,OAAOjB,CAAC,CAAC,IAAIivB,GAAG,KAAK,SAASC,GAAGjuB,GAAG,OAAOguB,GAAGA,GAAG,CAAChuB,GAAGguB,GAAGxkC,KAAKwW,EAAE,CAAC,SAASkuB,GAAGluB,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEsS,EAAEovB,YAA+E,OAAnE,OAAO1hC,GAAGyS,EAAE6uB,KAAK7uB,EAAE+uB,GAAGlvB,KAAKG,EAAE6uB,KAAKthC,EAAEshC,KAAKthC,EAAEshC,KAAK7uB,GAAGH,EAAEovB,YAAYjvB,EAASkvB,GAAGpuB,EAAEb,EAAE,CAChY,SAASivB,GAAGpuB,EAAEjB,GAAGiB,EAAE0tB,OAAO3uB,EAAE,IAAIG,EAAEc,EAAEsP,UAAqC,IAA3B,OAAOpQ,IAAIA,EAAEwuB,OAAO3uB,GAAGG,EAAEc,EAAMA,EAAEA,EAAEuP,OAAO,OAAOvP,GAAGA,EAAEstB,YAAYvuB,EAAgB,QAAdG,EAAEc,EAAEsP,aAAqBpQ,EAAEouB,YAAYvuB,GAAGG,EAAEc,EAAEA,EAAEA,EAAEuP,OAAO,OAAO,IAAIrQ,EAAEpD,IAAIoD,EAAE8O,UAAU,IAAI,CAAC,IAAIqgB,IAAG,EAAG,SAASC,GAAGtuB,GAAGA,EAAEuuB,YAAY,CAACC,UAAUxuB,EAAE0P,cAAc+e,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACC,QAAQ,KAAKT,YAAY,KAAKT,MAAM,GAAGmB,QAAQ,KAAK,CACpX,SAASC,GAAG9uB,EAAEjB,GAAGiB,EAAEA,EAAEuuB,YAAYxvB,EAAEwvB,cAAcvuB,IAAIjB,EAAEwvB,YAAY,CAACC,UAAUxuB,EAAEwuB,UAAUC,gBAAgBzuB,EAAEyuB,gBAAgBC,eAAe1uB,EAAE0uB,eAAeC,OAAO3uB,EAAE2uB,OAAOE,QAAQ7uB,EAAE6uB,SAAS,CAAC,SAASE,GAAG/uB,EAAEjB,GAAG,MAAM,CAACiwB,UAAUhvB,EAAEivB,KAAKlwB,EAAEjD,IAAI,EAAEozB,QAAQ,KAAKC,SAAS,KAAKpB,KAAK,KAAK,CACtR,SAASqB,GAAGpvB,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAEuuB,YAAY,GAAG,OAAOpvB,EAAE,OAAO,KAAgB,GAAXA,EAAEA,EAAEwvB,OAAU,KAAO,EAAFU,IAAK,CAAC,IAAI5iC,EAAE0S,EAAEyvB,QAA+D,OAAvD,OAAOniC,EAAEsS,EAAEgvB,KAAKhvB,GAAGA,EAAEgvB,KAAKthC,EAAEshC,KAAKthC,EAAEshC,KAAKhvB,GAAGI,EAAEyvB,QAAQ7vB,EAASqvB,GAAGpuB,EAAEd,EAAE,CAAoF,OAAnE,QAAhBzS,EAAE0S,EAAEgvB,cAAsBpvB,EAAEgvB,KAAKhvB,EAAEkvB,GAAG9uB,KAAKJ,EAAEgvB,KAAKthC,EAAEshC,KAAKthC,EAAEshC,KAAKhvB,GAAGI,EAAEgvB,YAAYpvB,EAASqvB,GAAGpuB,EAAEd,EAAE,CAAC,SAASowB,GAAGtvB,EAAEjB,EAAEG,GAAmB,GAAG,QAAnBH,EAAEA,EAAEwvB,eAA0BxvB,EAAEA,EAAE4vB,OAAO,KAAO,QAAFzvB,IAAY,CAAC,IAAIC,EAAEJ,EAAE2uB,MAAwBxuB,GAAlBC,GAAGa,EAAEsS,aAAkBvT,EAAE2uB,MAAMxuB,EAAE+T,GAAGjT,EAAEd,EAAE,CAAC,CACrZ,SAASqwB,GAAGvvB,EAAEjB,GAAG,IAAIG,EAAEc,EAAEuuB,YAAYpvB,EAAEa,EAAEsP,UAAU,GAAG,OAAOnQ,GAAoBD,KAAhBC,EAAEA,EAAEovB,aAAmB,CAAC,IAAI9hC,EAAE,KAAKC,EAAE,KAAyB,GAAG,QAAvBwS,EAAEA,EAAEuvB,iBAA4B,CAAC,EAAE,CAAC,IAAIrvB,EAAE,CAAC4vB,UAAU9vB,EAAE8vB,UAAUC,KAAK/vB,EAAE+vB,KAAKnzB,IAAIoD,EAAEpD,IAAIozB,QAAQhwB,EAAEgwB,QAAQC,SAASjwB,EAAEiwB,SAASpB,KAAK,MAAM,OAAOrhC,EAAED,EAAEC,EAAE0S,EAAE1S,EAAEA,EAAEqhC,KAAK3uB,EAAEF,EAAEA,EAAE6uB,IAAI,OAAO,OAAO7uB,GAAG,OAAOxS,EAAED,EAAEC,EAAEqS,EAAErS,EAAEA,EAAEqhC,KAAKhvB,CAAC,MAAMtS,EAAEC,EAAEqS,EAAiH,OAA/GG,EAAE,CAACsvB,UAAUrvB,EAAEqvB,UAAUC,gBAAgBhiC,EAAEiiC,eAAehiC,EAAEiiC,OAAOxvB,EAAEwvB,OAAOE,QAAQ1vB,EAAE0vB,cAAS7uB,EAAEuuB,YAAYrvB,EAAQ,CAAoB,QAAnBc,EAAEd,EAAEwvB,gBAAwBxvB,EAAEuvB,gBAAgB1vB,EAAEiB,EAAE+tB,KACnfhvB,EAAEG,EAAEwvB,eAAe3vB,CAAC,CACpB,SAASywB,GAAGxvB,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEuT,EAAEuuB,YAAYF,IAAG,EAAG,IAAI3hC,EAAED,EAAEgiC,gBAAgBrvB,EAAE3S,EAAEiiC,eAAervB,EAAE5S,EAAEkiC,OAAOC,QAAQ,GAAG,OAAOvvB,EAAE,CAAC5S,EAAEkiC,OAAOC,QAAQ,KAAK,IAAItvB,EAAED,EAAE7T,EAAE8T,EAAEyuB,KAAKzuB,EAAEyuB,KAAK,KAAK,OAAO3uB,EAAE1S,EAAElB,EAAE4T,EAAE2uB,KAAKviC,EAAE4T,EAAEE,EAAE,IAAIC,EAAES,EAAEsP,UAAU,OAAO/P,KAAoBF,GAAhBE,EAAEA,EAAEgvB,aAAgBG,kBAAmBtvB,IAAI,OAAOC,EAAEE,EAAEkvB,gBAAgBjjC,EAAE6T,EAAE0uB,KAAKviC,EAAE+T,EAAEmvB,eAAepvB,GAAG,CAAC,GAAG,OAAO5S,EAAE,CAAC,IAAI+S,EAAEhT,EAAE+hC,UAA6B,IAAnBpvB,EAAE,EAAEG,EAAE/T,EAAE8T,EAAE,KAAKD,EAAE3S,IAAI,CAAC,IAAIgT,EAAEL,EAAE4vB,KAAKnvB,EAAET,EAAE2vB,UAAU,IAAI7vB,EAAEO,KAAKA,EAAE,CAAC,OAAOH,IAAIA,EAAEA,EAAEwuB,KAAK,CAACiB,UAAUlvB,EAAEmvB,KAAK,EAAEnzB,IAAIuD,EAAEvD,IAAIozB,QAAQ7vB,EAAE6vB,QAAQC,SAAS9vB,EAAE8vB,SACvfpB,KAAK,OAAO/tB,EAAE,CAAC,IAAI9T,EAAE8T,EAAEL,EAAEN,EAAU,OAARK,EAAEX,EAAEe,EAAEZ,EAASS,EAAE7D,KAAK,KAAK,EAAc,GAAG,oBAAf5P,EAAEyT,EAAEuvB,SAAiC,CAACzvB,EAAEvT,EAAEqM,KAAKuH,EAAEL,EAAEC,GAAG,MAAMM,CAAC,CAACP,EAAEvT,EAAE,MAAM8T,EAAE,KAAK,EAAE9T,EAAEsjB,OAAe,MAATtjB,EAAEsjB,MAAa,IAAI,KAAK,EAAsD,GAAG,QAA3C9P,EAAE,oBAAdxT,EAAEyT,EAAEuvB,SAAgChjC,EAAEqM,KAAKuH,EAAEL,EAAEC,GAAGxT,SAAe,IAASwT,EAAE,MAAMM,EAAEP,EAAEU,EAAE,CAAC,EAAEV,EAAEC,GAAG,MAAMM,EAAE,KAAK,EAAEquB,IAAG,EAAG,CAAC,OAAOhvB,EAAE8vB,UAAU,IAAI9vB,EAAE4vB,OAAOjvB,EAAEwP,OAAO,GAAe,QAAZ9P,EAAEjT,EAAEoiC,SAAiBpiC,EAAEoiC,QAAQ,CAACxvB,GAAGK,EAAElW,KAAK6V,GAAG,MAAMS,EAAE,CAACkvB,UAAUlvB,EAAEmvB,KAAKvvB,EAAE5D,IAAIuD,EAAEvD,IAAIozB,QAAQ7vB,EAAE6vB,QAAQC,SAAS9vB,EAAE8vB,SAASpB,KAAK,MAAM,OAAOxuB,GAAG/T,EAAE+T,EAAEO,EAAER,EAAEG,GAAGF,EAAEA,EAAEwuB,KAAKjuB,EAAEV,GAAGM,EAC3e,GAAG,QAAZL,EAAEA,EAAE0uB,MAAiB,IAAsB,QAAnB1uB,EAAE5S,EAAEkiC,OAAOC,SAAiB,MAAevvB,GAAJK,EAAEL,GAAM0uB,KAAKruB,EAAEquB,KAAK,KAAKthC,EAAEiiC,eAAehvB,EAAEjT,EAAEkiC,OAAOC,QAAQ,IAAI,EAAsG,GAA5F,OAAOrvB,IAAID,EAAEG,GAAGhT,EAAE+hC,UAAUlvB,EAAE7S,EAAEgiC,gBAAgBjjC,EAAEiB,EAAEiiC,eAAenvB,EAA4B,QAA1BR,EAAEtS,EAAEkiC,OAAOR,aAAwB,CAAC1hC,EAAEsS,EAAE,GAAGK,GAAG3S,EAAEwiC,KAAKxiC,EAAEA,EAAEshC,WAAWthC,IAAIsS,EAAE,MAAM,OAAOrS,IAAID,EAAEkiC,OAAOjB,MAAM,GAAG+B,IAAIrwB,EAAEY,EAAE0tB,MAAMtuB,EAAEY,EAAE0P,cAAcjQ,CAAC,CAAC,CAC9V,SAASiwB,GAAG1vB,EAAEjB,EAAEG,GAA8B,GAA3Bc,EAAEjB,EAAE8vB,QAAQ9vB,EAAE8vB,QAAQ,KAAQ,OAAO7uB,EAAE,IAAIjB,EAAE,EAAEA,EAAEiB,EAAEhV,OAAO+T,IAAI,CAAC,IAAII,EAAEa,EAAEjB,GAAGtS,EAAE0S,EAAEgwB,SAAS,GAAG,OAAO1iC,EAAE,CAAqB,GAApB0S,EAAEgwB,SAAS,KAAKhwB,EAAED,EAAK,oBAAoBzS,EAAE,MAAM0Y,MAAM3F,EAAE,IAAI/S,IAAIA,EAAE8L,KAAK4G,EAAE,CAAC,CAAC,CAAC,IAAIwwB,IAAI,IAAI/tB,EAAGguB,WAAWC,KAAK,SAASC,GAAG9vB,EAAEjB,EAAEG,EAAEC,GAA8BD,EAAE,QAAXA,EAAEA,EAAEC,EAAtBJ,EAAEiB,EAAE0P,sBAAmC,IAASxQ,EAAEH,EAAEoB,EAAE,CAAC,EAAEpB,EAAEG,GAAGc,EAAE0P,cAAcxQ,EAAE,IAAIc,EAAE0tB,QAAQ1tB,EAAEuuB,YAAYC,UAAUtvB,EAAE,CAClX,IAAI6wB,GAAG,CAACC,UAAU,SAAShwB,GAAG,SAAOA,EAAEA,EAAEiwB,kBAAiB5gB,GAAGrP,KAAKA,CAAI,EAAEkwB,gBAAgB,SAASlwB,EAAEjB,EAAEG,GAAGc,EAAEA,EAAEiwB,gBAAgB,IAAI9wB,EAAEgxB,KAAI1jC,EAAE2jC,GAAGpwB,GAAGtT,EAAEqiC,GAAG5vB,EAAE1S,GAAGC,EAAEwiC,QAAQnwB,OAAE,IAASG,GAAG,OAAOA,IAAIxS,EAAEyiC,SAASjwB,GAAe,QAAZH,EAAEqwB,GAAGpvB,EAAEtT,EAAED,MAAc4jC,GAAGtxB,EAAEiB,EAAEvT,EAAE0S,GAAGmwB,GAAGvwB,EAAEiB,EAAEvT,GAAG,EAAE6jC,oBAAoB,SAAStwB,EAAEjB,EAAEG,GAAGc,EAAEA,EAAEiwB,gBAAgB,IAAI9wB,EAAEgxB,KAAI1jC,EAAE2jC,GAAGpwB,GAAGtT,EAAEqiC,GAAG5vB,EAAE1S,GAAGC,EAAEoP,IAAI,EAAEpP,EAAEwiC,QAAQnwB,OAAE,IAASG,GAAG,OAAOA,IAAIxS,EAAEyiC,SAASjwB,GAAe,QAAZH,EAAEqwB,GAAGpvB,EAAEtT,EAAED,MAAc4jC,GAAGtxB,EAAEiB,EAAEvT,EAAE0S,GAAGmwB,GAAGvwB,EAAEiB,EAAEvT,GAAG,EAAE8jC,mBAAmB,SAASvwB,EAAEjB,GAAGiB,EAAEA,EAAEiwB,gBAAgB,IAAI/wB,EAAEixB,KAAIhxB,EACnfixB,GAAGpwB,GAAGvT,EAAEsiC,GAAG7vB,EAAEC,GAAG1S,EAAEqP,IAAI,OAAE,IAASiD,GAAG,OAAOA,IAAItS,EAAE0iC,SAASpwB,GAAe,QAAZA,EAAEqwB,GAAGpvB,EAAEvT,EAAE0S,MAAckxB,GAAGtxB,EAAEiB,EAAEb,EAAED,GAAGowB,GAAGvwB,EAAEiB,EAAEb,GAAG,GAAG,SAASqxB,GAAGxwB,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,GAAiB,MAAM,oBAApBY,EAAEA,EAAEgO,WAAsCyiB,sBAAsBzwB,EAAEywB,sBAAsBtxB,EAAEzS,EAAE0S,IAAGL,EAAE5V,YAAW4V,EAAE5V,UAAUunC,wBAAsBzP,GAAG/hB,EAAEC,KAAK8hB,GAAGx0B,EAAEC,GAAK,CAC1S,SAASikC,GAAG3wB,EAAEjB,EAAEG,GAAG,IAAIC,GAAE,EAAG1S,EAAE48B,GAAO38B,EAAEqS,EAAEvC,YAA2W,MAA/V,kBAAkB9P,GAAG,OAAOA,EAAEA,EAAEkhC,GAAGlhC,IAAID,EAAEm9B,GAAG7qB,GAAGyqB,GAAGF,GAAEtZ,QAAyBtjB,GAAGyS,EAAE,QAAtBA,EAAEJ,EAAEtC,oBAA4B,IAAS0C,GAAGsqB,GAAGzpB,EAAEvT,GAAG48B,IAAItqB,EAAE,IAAIA,EAAEG,EAAExS,GAAGsT,EAAE0P,cAAc,OAAO3Q,EAAE6xB,YAAO,IAAS7xB,EAAE6xB,MAAM7xB,EAAE6xB,MAAM,KAAK7xB,EAAE8xB,QAAQd,GAAG/vB,EAAEgO,UAAUjP,EAAEA,EAAEkxB,gBAAgBjwB,EAAEb,KAAIa,EAAEA,EAAEgO,WAAY0b,4CAA4Cj9B,EAAEuT,EAAE2pB,0CAA0Cj9B,GAAUqS,CAAC,CAC5Z,SAAS+xB,GAAG9wB,EAAEjB,EAAEG,EAAEC,GAAGa,EAAEjB,EAAE6xB,MAAM,oBAAoB7xB,EAAEgyB,2BAA2BhyB,EAAEgyB,0BAA0B7xB,EAAEC,GAAG,oBAAoBJ,EAAEiyB,kCAAkCjyB,EAAEiyB,iCAAiC9xB,EAAEC,GAAGJ,EAAE6xB,QAAQ5wB,GAAG+vB,GAAGO,oBAAoBvxB,EAAEA,EAAE6xB,MAAM,KAAK,CACpQ,SAASK,GAAGjxB,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEuT,EAAEgO,UAAUvhB,EAAEykC,MAAMhyB,EAAEzS,EAAEmkC,MAAM5wB,EAAE0P,cAAcjjB,EAAEojC,KAAKF,GAAGrB,GAAGtuB,GAAG,IAAItT,EAAEqS,EAAEvC,YAAY,kBAAkB9P,GAAG,OAAOA,EAAED,EAAEohC,QAAQD,GAAGlhC,IAAIA,EAAEk9B,GAAG7qB,GAAGyqB,GAAGF,GAAEtZ,QAAQvjB,EAAEohC,QAAQpE,GAAGzpB,EAAEtT,IAAID,EAAEmkC,MAAM5wB,EAAE0P,cAA2C,oBAA7BhjB,EAAEqS,EAAEjC,4BAAiDgzB,GAAG9vB,EAAEjB,EAAErS,EAAEwS,GAAGzS,EAAEmkC,MAAM5wB,EAAE0P,eAAe,oBAAoB3Q,EAAEjC,0BAA0B,oBAAoBrQ,EAAE0kC,yBAAyB,oBAAoB1kC,EAAE2kC,2BAA2B,oBAAoB3kC,EAAE4kC,qBAAqBtyB,EAAEtS,EAAEmkC,MACrf,oBAAoBnkC,EAAE4kC,oBAAoB5kC,EAAE4kC,qBAAqB,oBAAoB5kC,EAAE2kC,2BAA2B3kC,EAAE2kC,4BAA4BryB,IAAItS,EAAEmkC,OAAOb,GAAGO,oBAAoB7jC,EAAEA,EAAEmkC,MAAM,MAAMpB,GAAGxvB,EAAEd,EAAEzS,EAAE0S,GAAG1S,EAAEmkC,MAAM5wB,EAAE0P,eAAe,oBAAoBjjB,EAAE6kC,oBAAoBtxB,EAAEwP,OAAO,QAAQ,CACpS,SAAS+hB,GAAGvxB,EAAEjB,EAAEG,GAAW,GAAG,QAAXc,EAAEd,EAAEsyB,MAAiB,oBAAoBxxB,GAAG,kBAAkBA,EAAE,CAAC,GAAGd,EAAEuyB,OAAO,CAAY,GAAXvyB,EAAEA,EAAEuyB,OAAY,CAAC,GAAG,IAAIvyB,EAAEpD,IAAI,MAAMqJ,MAAM3F,EAAE,MAAM,IAAIL,EAAED,EAAE8O,SAAS,CAAC,IAAI7O,EAAE,MAAMgG,MAAM3F,EAAE,IAAIQ,IAAI,IAAIvT,EAAE0S,EAAEzS,EAAE,GAAGsT,EAAE,OAAG,OAAOjB,GAAG,OAAOA,EAAEyyB,KAAK,oBAAoBzyB,EAAEyyB,KAAKzyB,EAAEyyB,IAAIE,aAAahlC,EAASqS,EAAEyyB,KAAIzyB,EAAE,SAASiB,GAAG,IAAIjB,EAAEtS,EAAEojC,KAAK9wB,IAAI4wB,KAAK5wB,EAAEtS,EAAEojC,KAAK,CAAC,GAAG,OAAO7vB,SAASjB,EAAErS,GAAGqS,EAAErS,GAAGsT,CAAC,EAAEjB,EAAE2yB,WAAWhlC,EAASqS,EAAC,CAAC,GAAG,kBAAkBiB,EAAE,MAAMmF,MAAM3F,EAAE,MAAM,IAAIN,EAAEuyB,OAAO,MAAMtsB,MAAM3F,EAAE,IAAIQ,GAAI,CAAC,OAAOA,CAAC,CACre,SAAS2xB,GAAG3xB,EAAEjB,GAAuC,MAApCiB,EAAEnY,OAAOsB,UAAUU,SAAS0O,KAAKwG,GAASoG,MAAM3F,EAAE,GAAG,oBAAoBQ,EAAE,qBAAqBnY,OAAO6W,KAAKK,GAAG6yB,KAAK,MAAM,IAAI5xB,GAAI,CAAC,SAAS6xB,GAAG7xB,GAAiB,OAAOjB,EAAfiB,EAAE6F,OAAe7F,EAAE4F,SAAS,CACrM,SAASksB,GAAG9xB,GAAG,SAASjB,EAAEA,EAAEG,GAAG,GAAGc,EAAE,CAAC,IAAIb,EAAEJ,EAAE8sB,UAAU,OAAO1sB,GAAGJ,EAAE8sB,UAAU,CAAC3sB,GAAGH,EAAEyQ,OAAO,IAAIrQ,EAAE3V,KAAK0V,EAAE,CAAC,CAAC,SAASA,EAAEA,EAAEC,GAAG,IAAIa,EAAE,OAAO,KAAK,KAAK,OAAOb,GAAGJ,EAAEG,EAAEC,GAAGA,EAAEA,EAAE4Q,QAAQ,OAAO,IAAI,CAAC,SAAS5Q,EAAEa,EAAEjB,GAAG,IAAIiB,EAAE,IAAI+T,IAAI,OAAOhV,GAAG,OAAOA,EAAEF,IAAImB,EAAE3U,IAAI0T,EAAEF,IAAIE,GAAGiB,EAAE3U,IAAI0T,EAAEgzB,MAAMhzB,GAAGA,EAAEA,EAAEgR,QAAQ,OAAO/P,CAAC,CAAC,SAASvT,EAAEuT,EAAEjB,GAAsC,OAAnCiB,EAAEgyB,GAAGhyB,EAAEjB,IAAKgzB,MAAM,EAAE/xB,EAAE+P,QAAQ,KAAY/P,CAAC,CAAC,SAAStT,EAAEqS,EAAEG,EAAEC,GAAa,OAAVJ,EAAEgzB,MAAM5yB,EAAMa,EAA6C,QAAjBb,EAAEJ,EAAEuQ,YAA6BnQ,EAAEA,EAAE4yB,OAAQ7yB,GAAGH,EAAEyQ,OAAO,EAAEtQ,GAAGC,GAAEJ,EAAEyQ,OAAO,EAAStQ,IAArGH,EAAEyQ,OAAO,QAAQtQ,EAAqF,CAAC,SAASE,EAAEL,GACzd,OAD4diB,GAC7f,OAAOjB,EAAEuQ,YAAYvQ,EAAEyQ,OAAO,GAAUzQ,CAAC,CAAC,SAASM,EAAEW,EAAEjB,EAAEG,EAAEC,GAAG,OAAG,OAAOJ,GAAG,IAAIA,EAAEjD,MAAWiD,EAAEkzB,GAAG/yB,EAAEc,EAAEosB,KAAKjtB,IAAKoQ,OAAOvP,EAAEjB,KAAEA,EAAEtS,EAAEsS,EAAEG,IAAKqQ,OAAOvP,EAASjB,EAAC,CAAC,SAASO,EAAEU,EAAEjB,EAAEG,EAAEC,GAAG,IAAIzS,EAAEwS,EAAEjC,KAAK,OAAGvQ,IAAIwX,EAAU3E,EAAES,EAAEjB,EAAEG,EAAEgyB,MAAMjpB,SAAS9I,EAAED,EAAEL,KAAQ,OAAOE,IAAIA,EAAE6sB,cAAcl/B,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEwT,WAAWyE,GAAIktB,GAAGnlC,KAAKqS,EAAE9B,QAAakC,EAAE1S,EAAEsS,EAAEG,EAAEgyB,QAASM,IAAID,GAAGvxB,EAAEjB,EAAEG,GAAGC,EAAEoQ,OAAOvP,EAAEb,KAAEA,EAAE+yB,GAAGhzB,EAAEjC,KAAKiC,EAAEL,IAAIK,EAAEgyB,MAAM,KAAKlxB,EAAEosB,KAAKjtB,IAAKqyB,IAAID,GAAGvxB,EAAEjB,EAAEG,GAAGC,EAAEoQ,OAAOvP,EAASb,EAAC,CAAC,SAAS3T,EAAEwU,EAAEjB,EAAEG,EAAEC,GAAG,OAAG,OAAOJ,GAAG,IAAIA,EAAEjD,KACjfiD,EAAEiP,UAAUgH,gBAAgB9V,EAAE8V,eAAejW,EAAEiP,UAAU1c,iBAAiB4N,EAAE5N,iBAAsByN,EAAEozB,GAAGjzB,EAAEc,EAAEosB,KAAKjtB,IAAKoQ,OAAOvP,EAAEjB,KAAEA,EAAEtS,EAAEsS,EAAEG,EAAE+I,UAAU,KAAMsH,OAAOvP,EAASjB,EAAC,CAAC,SAASQ,EAAES,EAAEjB,EAAEG,EAAEC,EAAEzS,GAAG,OAAG,OAAOqS,GAAG,IAAIA,EAAEjD,MAAWiD,EAAEqzB,GAAGlzB,EAAEc,EAAEosB,KAAKjtB,EAAEzS,IAAK6iB,OAAOvP,EAAEjB,KAAEA,EAAEtS,EAAEsS,EAAEG,IAAKqQ,OAAOvP,EAASjB,EAAC,CAAC,SAASU,EAAEO,EAAEjB,EAAEG,GAAG,GAAG,kBAAkBH,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAOA,EAAEkzB,GAAG,GAAGlzB,EAAEiB,EAAEosB,KAAKltB,IAAKqQ,OAAOvP,EAAEjB,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEmB,UAAU,KAAK8D,EAAG,OAAO9E,EAAEgzB,GAAGnzB,EAAE9B,KAAK8B,EAAEF,IAAIE,EAAEmyB,MAAM,KAAKlxB,EAAEosB,KAAKltB,IACjfsyB,IAAID,GAAGvxB,EAAE,KAAKjB,GAAGG,EAAEqQ,OAAOvP,EAAEd,EAAE,KAAK+E,EAAG,OAAOlF,EAAEozB,GAAGpzB,EAAEiB,EAAEosB,KAAKltB,IAAKqQ,OAAOvP,EAAEjB,EAAE,KAAK4F,EAAiB,OAAOlF,EAAEO,GAAEb,EAAnBJ,EAAE8G,OAAmB9G,EAAE6G,UAAU1G,GAAG,GAAGsI,GAAGzI,IAAIgG,EAAGhG,GAAG,OAAOA,EAAEqzB,GAAGrzB,EAAEiB,EAAEosB,KAAKltB,EAAE,OAAQqQ,OAAOvP,EAAEjB,EAAE4yB,GAAG3xB,EAAEjB,EAAE,CAAC,OAAO,IAAI,CAAC,SAASW,EAAEM,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAE,OAAOsS,EAAEA,EAAEF,IAAI,KAAK,GAAG,kBAAkBK,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAO,OAAOzS,EAAE,KAAK4S,EAAEW,EAAEjB,EAAE,GAAGG,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEgB,UAAU,KAAK8D,EAAG,OAAO9E,EAAEL,MAAMpS,EAAE6S,EAAEU,EAAEjB,EAAEG,EAAEC,GAAG,KAAK,KAAK8E,EAAG,OAAO/E,EAAEL,MAAMpS,EAAEjB,EAAEwU,EAAEjB,EAAEG,EAAEC,GAAG,KAAK,KAAKwF,EAAG,OAAiBjF,EAAEM,EACpfjB,GADwetS,EAAEyS,EAAE2G,OACxe3G,EAAE0G,UAAUzG,GAAG,GAAGqI,GAAGtI,IAAI6F,EAAG7F,GAAG,OAAO,OAAOzS,EAAE,KAAK8S,EAAES,EAAEjB,EAAEG,EAAEC,EAAE,MAAMwyB,GAAG3xB,EAAEd,EAAE,CAAC,OAAO,IAAI,CAAC,SAASY,EAAEE,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,GAAG,kBAAkB0S,GAAG,KAAKA,GAAG,kBAAkBA,EAAE,OAAwBE,EAAEN,EAAnBiB,EAAEA,EAAElT,IAAIoS,IAAI,KAAW,GAAGC,EAAE1S,GAAG,GAAG,kBAAkB0S,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEe,UAAU,KAAK8D,EAAG,OAA2C1E,EAAEP,EAAtCiB,EAAEA,EAAElT,IAAI,OAAOqS,EAAEN,IAAIK,EAAEC,EAAEN,MAAM,KAAWM,EAAE1S,GAAG,KAAKwX,EAAG,OAA2CzY,EAAEuT,EAAtCiB,EAAEA,EAAElT,IAAI,OAAOqS,EAAEN,IAAIK,EAAEC,EAAEN,MAAM,KAAWM,EAAE1S,GAAG,KAAKkY,EAAiB,OAAO7E,EAAEE,EAAEjB,EAAEG,GAAExS,EAAvByS,EAAE0G,OAAuB1G,EAAEyG,UAAUnZ,GAAG,GAAG+a,GAAGrI,IAAI4F,EAAG5F,GAAG,OAAwBI,EAAER,EAAnBiB,EAAEA,EAAElT,IAAIoS,IAAI,KAAWC,EAAE1S,EAAE,MAAMklC,GAAG5yB,EAAEI,EAAE,CAAC,OAAO,IAAI,CAC9f,SAASjT,EAAEO,EAAE2S,EAAEC,EAAEC,GAAG,IAAI,IAAI9T,EAAE,KAAK+T,EAAE,KAAKU,EAAEb,EAAES,EAAET,EAAE,EAAExW,EAAE,KAAK,OAAOqX,GAAGJ,EAAER,EAAErU,OAAO6U,IAAI,CAACI,EAAE8xB,MAAMlyB,GAAGjX,EAAEqX,EAAEA,EAAE,MAAMrX,EAAEqX,EAAE8P,QAAQ,IAAI7jB,EAAEwT,EAAEjT,EAAEwT,EAAEZ,EAAEQ,GAAGP,GAAG,GAAG,OAAOpT,EAAE,CAAC,OAAO+T,IAAIA,EAAErX,GAAG,KAAK,CAACoX,GAAGC,GAAG,OAAO/T,EAAEojB,WAAWvQ,EAAEtS,EAAEwT,GAAGb,EAAE1S,EAAER,EAAEkT,EAAES,GAAG,OAAON,EAAE/T,EAAEU,EAAEqT,EAAEwQ,QAAQ7jB,EAAEqT,EAAErT,EAAE+T,EAAErX,CAAC,CAAC,GAAGiX,IAAIR,EAAErU,OAAO,OAAOkU,EAAEzS,EAAEwT,GAAGurB,IAAGN,GAAGz+B,EAAEoT,GAAGrU,EAAE,GAAG,OAAOyU,EAAE,CAAC,KAAKJ,EAAER,EAAErU,OAAO6U,IAAkB,QAAdI,EAAER,EAAEhT,EAAE4S,EAAEQ,GAAGP,MAAcF,EAAE1S,EAAEuT,EAAEb,EAAES,GAAG,OAAON,EAAE/T,EAAEyU,EAAEV,EAAEwQ,QAAQ9P,EAAEV,EAAEU,GAAc,OAAXurB,IAAGN,GAAGz+B,EAAEoT,GAAUrU,CAAC,CAAC,IAAIyU,EAAEd,EAAE1S,EAAEwT,GAAGJ,EAAER,EAAErU,OAAO6U,IAAsB,QAAlBjX,EAAEkX,EAAEG,EAAExT,EAAEoT,EAAER,EAAEQ,GAAGP,MAAcU,GAAG,OAAOpX,EAAE0mB,WAAWrP,EAAEmU,OAAO,OACvfxrB,EAAEiW,IAAIgB,EAAEjX,EAAEiW,KAAKO,EAAE1S,EAAE9D,EAAEwW,EAAES,GAAG,OAAON,EAAE/T,EAAE5C,EAAE2W,EAAEwQ,QAAQnnB,EAAE2W,EAAE3W,GAAuD,OAApDoX,GAAGC,EAAE7W,SAAQ,SAAS4W,GAAG,OAAOjB,EAAEtS,EAAEuT,EAAE,IAAGwrB,IAAGN,GAAGz+B,EAAEoT,GAAUrU,CAAC,CAAC,SAASmU,EAAElT,EAAE2S,EAAEC,EAAEC,GAAG,IAAI9T,EAAEuZ,EAAG1F,GAAG,GAAG,oBAAoB7T,EAAE,MAAM2Z,MAAM3F,EAAE,MAAkB,GAAG,OAAfH,EAAE7T,EAAE+M,KAAK8G,IAAc,MAAM8F,MAAM3F,EAAE,MAAM,IAAI,IAAIS,EAAEzU,EAAE,KAAK+T,EAAEH,EAAES,EAAET,EAAE,EAAExW,EAAE,KAAKsD,EAAEmT,EAAE0uB,OAAO,OAAOxuB,IAAIrT,EAAEC,KAAK0T,IAAI3T,EAAEmT,EAAE0uB,OAAO,CAACxuB,EAAEwyB,MAAMlyB,GAAGjX,EAAE2W,EAAEA,EAAE,MAAM3W,EAAE2W,EAAEwQ,QAAQ,IAAIpQ,EAAED,EAAEjT,EAAE8S,EAAErT,EAAEI,MAAMgT,GAAG,GAAG,OAAOK,EAAE,CAAC,OAAOJ,IAAIA,EAAE3W,GAAG,KAAK,CAACoX,GAAGT,GAAG,OAAOI,EAAE2P,WAAWvQ,EAAEtS,EAAE8S,GAAGH,EAAE1S,EAAEiT,EAAEP,EAAES,GAAG,OAAOI,EAAEzU,EAAEmU,EAAEM,EAAE8P,QAAQpQ,EAAEM,EAAEN,EAAEJ,EAAE3W,CAAC,CAAC,GAAGsD,EAAEC,KAAK,OAAO+S,EAAEzS,EACzf8S,GAAGisB,IAAGN,GAAGz+B,EAAEoT,GAAGrU,EAAE,GAAG,OAAO+T,EAAE,CAAC,MAAMrT,EAAEC,KAAK0T,IAAI3T,EAAEmT,EAAE0uB,OAAwB,QAAjB7hC,EAAEuT,EAAEhT,EAAEP,EAAEI,MAAMgT,MAAcF,EAAE1S,EAAER,EAAEkT,EAAES,GAAG,OAAOI,EAAEzU,EAAEU,EAAE+T,EAAE8P,QAAQ7jB,EAAE+T,EAAE/T,GAAc,OAAXs/B,IAAGN,GAAGz+B,EAAEoT,GAAUrU,CAAC,CAAC,IAAI+T,EAAEJ,EAAE1S,EAAE8S,IAAIrT,EAAEC,KAAK0T,IAAI3T,EAAEmT,EAAE0uB,OAA4B,QAArB7hC,EAAE4T,EAAEP,EAAE9S,EAAEoT,EAAE3T,EAAEI,MAAMgT,MAAcU,GAAG,OAAO9T,EAAEojB,WAAW/P,EAAE6U,OAAO,OAAOloB,EAAE2S,IAAIgB,EAAE3T,EAAE2S,KAAKO,EAAE1S,EAAER,EAAEkT,EAAES,GAAG,OAAOI,EAAEzU,EAAEU,EAAE+T,EAAE8P,QAAQ7jB,EAAE+T,EAAE/T,GAAuD,OAApD8T,GAAGT,EAAEnW,SAAQ,SAAS4W,GAAG,OAAOjB,EAAEtS,EAAEuT,EAAE,IAAGwrB,IAAGN,GAAGz+B,EAAEoT,GAAUrU,CAAC,CAG3T,OAH4T,SAAS26B,EAAEnmB,EAAEb,EAAEzS,EAAE2S,GAAkF,GAA/E,kBAAkB3S,GAAG,OAAOA,GAAGA,EAAEuQ,OAAOiH,GAAI,OAAOxX,EAAEmS,MAAMnS,EAAEA,EAAEwkC,MAAMjpB,UAAa,kBAAkBvb,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEwT,UAAU,KAAK8D,EAAGhE,EAAE,CAAC,IAAI,IAAIV,EAC7hB5S,EAAEmS,IAAIrT,EAAE2T,EAAE,OAAO3T,GAAG,CAAC,GAAGA,EAAEqT,MAAMS,EAAE,CAAU,IAATA,EAAE5S,EAAEuQ,QAAYiH,GAAI,GAAG,IAAI1Y,EAAEsQ,IAAI,CAACoD,EAAEc,EAAExU,EAAEukB,UAAS5Q,EAAE1S,EAAEjB,EAAEkB,EAAEwkC,MAAMjpB,WAAYsH,OAAOvP,EAAEA,EAAEb,EAAE,MAAMa,CAAC,OAAO,GAAGxU,EAAEogC,cAActsB,GAAG,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEY,WAAWyE,GAAIktB,GAAGvyB,KAAK9T,EAAEyR,KAAK,CAACiC,EAAEc,EAAExU,EAAEukB,UAAS5Q,EAAE1S,EAAEjB,EAAEkB,EAAEwkC,QAASM,IAAID,GAAGvxB,EAAExU,EAAEkB,GAAGyS,EAAEoQ,OAAOvP,EAAEA,EAAEb,EAAE,MAAMa,CAAC,CAACd,EAAEc,EAAExU,GAAG,KAAK,CAAMuT,EAAEiB,EAAExU,GAAGA,EAAEA,EAAEukB,OAAO,CAACrjB,EAAEuQ,OAAOiH,IAAI/E,EAAEizB,GAAG1lC,EAAEwkC,MAAMjpB,SAASjI,EAAEosB,KAAK/sB,EAAE3S,EAAEmS,MAAO0Q,OAAOvP,EAAEA,EAAEb,KAAIE,EAAE6yB,GAAGxlC,EAAEuQ,KAAKvQ,EAAEmS,IAAInS,EAAEwkC,MAAM,KAAKlxB,EAAEosB,KAAK/sB,IAAKmyB,IAAID,GAAGvxB,EAAEb,EAAEzS,GAAG2S,EAAEkQ,OAAOvP,EAAEA,EAAEX,EAAE,CAAC,OAAOD,EAAEY,GAAG,KAAKiE,EAAGjE,EAAE,CAAC,IAAIxU,EAAEkB,EAAEmS,IAAI,OACzfM,GAAG,CAAC,GAAGA,EAAEN,MAAMrT,EAAC,CAAC,GAAG,IAAI2T,EAAErD,KAAKqD,EAAE6O,UAAUgH,gBAAgBtoB,EAAEsoB,eAAe7V,EAAE6O,UAAU1c,iBAAiB5E,EAAE4E,eAAe,CAAC4N,EAAEc,EAAEb,EAAE4Q,UAAS5Q,EAAE1S,EAAE0S,EAAEzS,EAAEub,UAAU,KAAMsH,OAAOvP,EAAEA,EAAEb,EAAE,MAAMa,CAAC,CAAMd,EAAEc,EAAEb,GAAG,KAAM,CAAKJ,EAAEiB,EAAEb,GAAGA,EAAEA,EAAE4Q,OAAO,EAAC5Q,EAAEgzB,GAAGzlC,EAAEsT,EAAEosB,KAAK/sB,IAAKkQ,OAAOvP,EAAEA,EAAEb,CAAC,CAAC,OAAOC,EAAEY,GAAG,KAAK2E,EAAG,OAAiBwhB,EAAEnmB,EAAEb,GAAd3T,EAAEkB,EAAEmZ,OAAcnZ,EAAEkZ,UAAUvG,GAAG,GAAGmI,GAAG9a,GAAG,OAAOR,EAAE8T,EAAEb,EAAEzS,EAAE2S,GAAG,GAAG0F,EAAGrY,GAAG,OAAOiT,EAAEK,EAAEb,EAAEzS,EAAE2S,GAAGsyB,GAAG3xB,EAAEtT,EAAE,CAAC,MAAM,kBAAkBA,GAAG,KAAKA,GAAG,kBAAkBA,GAAGA,EAAE,GAAGA,EAAE,OAAOyS,GAAG,IAAIA,EAAErD,KAAKoD,EAAEc,EAAEb,EAAE4Q,UAAS5Q,EAAE1S,EAAE0S,EAAEzS,IAAK6iB,OAAOvP,EAAEA,EAAEb,IACnfD,EAAEc,EAAEb,IAAGA,EAAE8yB,GAAGvlC,EAAEsT,EAAEosB,KAAK/sB,IAAKkQ,OAAOvP,EAAEA,EAAEb,GAAGC,EAAEY,IAAId,EAAEc,EAAEb,EAAE,CAAS,CAAC,IAAIkzB,GAAGP,IAAG,GAAIQ,GAAGR,IAAG,GAAIS,GAAG,CAAC,EAAEC,GAAGtJ,GAAGqJ,IAAIE,GAAGvJ,GAAGqJ,IAAIG,GAAGxJ,GAAGqJ,IAAI,SAASI,GAAG3yB,GAAG,GAAGA,IAAIuyB,GAAG,MAAMptB,MAAM3F,EAAE,MAAM,OAAOQ,CAAC,CAAC,SAAS4yB,GAAG5yB,EAAEjB,GAAyC,OAAtCqqB,GAAEsJ,GAAG3zB,GAAGqqB,GAAEqJ,GAAGzyB,GAAGopB,GAAEoJ,GAAGD,IAAIvyB,EAAEjB,EAAElP,UAAmB,KAAK,EAAE,KAAK,GAAGkP,GAAGA,EAAEA,EAAE/G,iBAAiB+G,EAAErI,aAAa4R,GAAG,KAAK,IAAI,MAAM,QAAkEvJ,EAAEuJ,GAArCvJ,GAAvBiB,EAAE,IAAIA,EAAEjB,EAAEhI,WAAWgI,GAAMrI,cAAc,KAAKsJ,EAAEA,EAAEvJ,SAAkB0yB,GAAEqJ,IAAIpJ,GAAEoJ,GAAGzzB,EAAE,CAAC,SAAS8zB,KAAK1J,GAAEqJ,IAAIrJ,GAAEsJ,IAAItJ,GAAEuJ,GAAG,CACnb,SAASI,GAAG9yB,GAAG2yB,GAAGD,GAAG1iB,SAAS,IAAIjR,EAAE4zB,GAAGH,GAAGxiB,SAAa9Q,EAAEoJ,GAAGvJ,EAAEiB,EAAE/C,MAAM8B,IAAIG,IAAIkqB,GAAEqJ,GAAGzyB,GAAGopB,GAAEoJ,GAAGtzB,GAAG,CAAC,SAAS6zB,GAAG/yB,GAAGyyB,GAAGziB,UAAUhQ,IAAImpB,GAAEqJ,IAAIrJ,GAAEsJ,IAAI,CAAC,IAAIO,GAAE9J,GAAG,GACrJ,SAAS+J,GAAGjzB,GAAG,IAAI,IAAIjB,EAAEiB,EAAE,OAAOjB,GAAG,CAAC,GAAG,KAAKA,EAAEjD,IAAI,CAAC,IAAIoD,EAAEH,EAAE2Q,cAAc,GAAG,OAAOxQ,IAAmB,QAAfA,EAAEA,EAAEyQ,aAAqB,OAAOzQ,EAAE5F,MAAM,OAAO4F,EAAE5F,MAAM,OAAOyF,CAAC,MAAM,GAAG,KAAKA,EAAEjD,UAAK,IAASiD,EAAEytB,cAAc0G,aAAa,GAAG,KAAa,IAARn0B,EAAEyQ,OAAW,OAAOzQ,OAAO,GAAG,OAAOA,EAAE+Q,MAAM,CAAC/Q,EAAE+Q,MAAMP,OAAOxQ,EAAEA,EAAEA,EAAE+Q,MAAM,QAAQ,CAAC,GAAG/Q,IAAIiB,EAAE,MAAM,KAAK,OAAOjB,EAAEgR,SAAS,CAAC,GAAG,OAAOhR,EAAEwQ,QAAQxQ,EAAEwQ,SAASvP,EAAE,OAAO,KAAKjB,EAAEA,EAAEwQ,MAAM,CAACxQ,EAAEgR,QAAQR,OAAOxQ,EAAEwQ,OAAOxQ,EAAEA,EAAEgR,OAAO,CAAC,OAAO,IAAI,CAAC,IAAIojB,GAAG,GACrc,SAASC,KAAK,IAAI,IAAIpzB,EAAE,EAAEA,EAAEmzB,GAAGnoC,OAAOgV,IAAImzB,GAAGnzB,GAAGqzB,8BAA8B,KAAKF,GAAGnoC,OAAO,CAAC,CAAC,IAAIsoC,GAAGxvB,EAAGyvB,uBAAuBC,GAAG1vB,EAAG4R,wBAAwB+d,GAAG,EAAEC,GAAE,KAAKC,GAAE,KAAKC,GAAE,KAAKC,IAAG,EAAGC,IAAG,EAAGC,GAAG,EAAEC,GAAG,EAAE,SAASC,KAAI,MAAM9uB,MAAM3F,EAAE,KAAM,CAAC,SAAS00B,GAAGl0B,EAAEjB,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIG,EAAE,EAAEA,EAAEH,EAAE/T,QAAQkU,EAAEc,EAAEhV,OAAOkU,IAAI,IAAI8hB,GAAGhhB,EAAEd,GAAGH,EAAEG,IAAI,OAAM,EAAG,OAAM,CAAE,CAChW,SAASi1B,GAAGn0B,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,GAAyH,GAAtH+mC,GAAG/mC,EAAEgnC,GAAE30B,EAAEA,EAAE2Q,cAAc,KAAK3Q,EAAEwvB,YAAY,KAAKxvB,EAAE2uB,MAAM,EAAE4F,GAAGtjB,QAAQ,OAAOhQ,GAAG,OAAOA,EAAE0P,cAAc0kB,GAAGC,GAAGr0B,EAAEd,EAAEC,EAAE1S,GAAMqnC,GAAG,CAACpnC,EAAE,EAAE,EAAE,CAAY,GAAXonC,IAAG,EAAGC,GAAG,EAAK,IAAIrnC,EAAE,MAAMyY,MAAM3F,EAAE,MAAM9S,GAAG,EAAEknC,GAAED,GAAE,KAAK50B,EAAEwvB,YAAY,KAAK+E,GAAGtjB,QAAQskB,GAAGt0B,EAAEd,EAAEC,EAAE1S,EAAE,OAAOqnC,GAAG,CAA+D,GAA9DR,GAAGtjB,QAAQukB,GAAGx1B,EAAE,OAAO40B,IAAG,OAAOA,GAAE5F,KAAK0F,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKG,IAAG,EAAM90B,EAAE,MAAMoG,MAAM3F,EAAE,MAAM,OAAOQ,CAAC,CAAC,SAASw0B,KAAK,IAAIx0B,EAAE,IAAI+zB,GAAQ,OAALA,GAAG,EAAS/zB,CAAC,CAC/Y,SAASy0B,KAAK,IAAIz0B,EAAE,CAAC0P,cAAc,KAAK8e,UAAU,KAAKkG,UAAU,KAAKC,MAAM,KAAK5G,KAAK,MAA8C,OAAxC,OAAO6F,GAAEF,GAAEhkB,cAAckkB,GAAE5zB,EAAE4zB,GAAEA,GAAE7F,KAAK/tB,EAAS4zB,EAAC,CAAC,SAASgB,KAAK,GAAG,OAAOjB,GAAE,CAAC,IAAI3zB,EAAE0zB,GAAEpkB,UAAUtP,EAAE,OAAOA,EAAEA,EAAE0P,cAAc,IAAI,MAAM1P,EAAE2zB,GAAE5F,KAAK,IAAIhvB,EAAE,OAAO60B,GAAEF,GAAEhkB,cAAckkB,GAAE7F,KAAK,GAAG,OAAOhvB,EAAE60B,GAAE70B,EAAE40B,GAAE3zB,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAMmF,MAAM3F,EAAE,MAAUQ,EAAE,CAAC0P,eAAPikB,GAAE3zB,GAAqB0P,cAAc8e,UAAUmF,GAAEnF,UAAUkG,UAAUf,GAAEe,UAAUC,MAAMhB,GAAEgB,MAAM5G,KAAK,MAAM,OAAO6F,GAAEF,GAAEhkB,cAAckkB,GAAE5zB,EAAE4zB,GAAEA,GAAE7F,KAAK/tB,CAAC,CAAC,OAAO4zB,EAAC,CACje,SAASiB,GAAG70B,EAAEjB,GAAG,MAAM,oBAAoBA,EAAEA,EAAEiB,GAAGjB,CAAC,CACnD,SAAS+1B,GAAG90B,GAAG,IAAIjB,EAAE61B,KAAK11B,EAAEH,EAAE41B,MAAM,GAAG,OAAOz1B,EAAE,MAAMiG,MAAM3F,EAAE,MAAMN,EAAE61B,oBAAoB/0B,EAAE,IAAIb,EAAEw0B,GAAElnC,EAAE0S,EAAEu1B,UAAUhoC,EAAEwS,EAAE0vB,QAAQ,GAAG,OAAOliC,EAAE,CAAC,GAAG,OAAOD,EAAE,CAAC,IAAI2S,EAAE3S,EAAEshC,KAAKthC,EAAEshC,KAAKrhC,EAAEqhC,KAAKrhC,EAAEqhC,KAAK3uB,CAAC,CAACD,EAAEu1B,UAAUjoC,EAAEC,EAAEwS,EAAE0vB,QAAQ,IAAI,CAAC,GAAG,OAAOniC,EAAE,CAACC,EAAED,EAAEshC,KAAK5uB,EAAEA,EAAEqvB,UAAU,IAAInvB,EAAED,EAAE,KAAKE,EAAE,KAAK9T,EAAEkB,EAAE,EAAE,CAAC,IAAI6S,EAAE/T,EAAEyjC,KAAK,IAAIwE,GAAGl0B,KAAKA,EAAE,OAAOD,IAAIA,EAAEA,EAAEyuB,KAAK,CAACkB,KAAK,EAAE+F,OAAOxpC,EAAEwpC,OAAOC,cAAczpC,EAAEypC,cAAcC,WAAW1pC,EAAE0pC,WAAWnH,KAAK,OAAO5uB,EAAE3T,EAAEypC,cAAczpC,EAAE0pC,WAAWl1B,EAAEb,EAAE3T,EAAEwpC,YAAY,CAAC,IAAIv1B,EAAE,CAACwvB,KAAK1vB,EAAEy1B,OAAOxpC,EAAEwpC,OAAOC,cAAczpC,EAAEypC,cACngBC,WAAW1pC,EAAE0pC,WAAWnH,KAAK,MAAM,OAAOzuB,GAAGD,EAAEC,EAAEG,EAAEL,EAAED,GAAGG,EAAEA,EAAEyuB,KAAKtuB,EAAEi0B,GAAEhG,OAAOnuB,EAAEkwB,IAAIlwB,CAAC,CAAC/T,EAAEA,EAAEuiC,IAAI,OAAO,OAAOviC,GAAGA,IAAIkB,GAAG,OAAO4S,EAAEF,EAAED,EAAEG,EAAEyuB,KAAK1uB,EAAE2hB,GAAG7hB,EAAEJ,EAAE2Q,iBAAiBie,IAAG,GAAI5uB,EAAE2Q,cAAcvQ,EAAEJ,EAAEyvB,UAAUpvB,EAAEL,EAAE21B,UAAUp1B,EAAEJ,EAAEi2B,kBAAkBh2B,CAAC,CAAiB,GAAG,QAAnBa,EAAEd,EAAEivB,aAAwB,CAAC1hC,EAAEuT,EAAE,GAAGtT,EAAED,EAAEwiC,KAAKyE,GAAEhG,OAAOhhC,EAAE+iC,IAAI/iC,EAAED,EAAEA,EAAEshC,WAAWthC,IAAIuT,EAAE,MAAM,OAAOvT,IAAIyS,EAAEwuB,MAAM,GAAG,MAAM,CAAC3uB,EAAE2Q,cAAcxQ,EAAEk2B,SAAS,CAC9X,SAASC,GAAGr1B,GAAG,IAAIjB,EAAE61B,KAAK11B,EAAEH,EAAE41B,MAAM,GAAG,OAAOz1B,EAAE,MAAMiG,MAAM3F,EAAE,MAAMN,EAAE61B,oBAAoB/0B,EAAE,IAAIb,EAAED,EAAEk2B,SAAS3oC,EAAEyS,EAAE0vB,QAAQliC,EAAEqS,EAAE2Q,cAAc,GAAG,OAAOjjB,EAAE,CAACyS,EAAE0vB,QAAQ,KAAK,IAAIxvB,EAAE3S,EAAEA,EAAEshC,KAAK,GAAGrhC,EAAEsT,EAAEtT,EAAE0S,EAAE41B,QAAQ51B,EAAEA,EAAE2uB,WAAW3uB,IAAI3S,GAAGu0B,GAAGt0B,EAAEqS,EAAE2Q,iBAAiBie,IAAG,GAAI5uB,EAAE2Q,cAAchjB,EAAE,OAAOqS,EAAE21B,YAAY31B,EAAEyvB,UAAU9hC,GAAGwS,EAAEi2B,kBAAkBzoC,CAAC,CAAC,MAAM,CAACA,EAAEyS,EAAE,CAAC,SAASm2B,KAAK,CACpW,SAASC,GAAGv1B,EAAEjB,GAAG,IAAIG,EAAEw0B,GAAEv0B,EAAEy1B,KAAKnoC,EAAEsS,IAAIrS,GAAGs0B,GAAG7hB,EAAEuQ,cAAcjjB,GAAsE,GAAnEC,IAAIyS,EAAEuQ,cAAcjjB,EAAEkhC,IAAG,GAAIxuB,EAAEA,EAAEw1B,MAAMa,GAAGC,GAAGzP,KAAK,KAAK9mB,EAAEC,EAAEa,GAAG,CAACA,IAAOb,EAAEu2B,cAAc32B,GAAGrS,GAAG,OAAOknC,IAAuB,EAApBA,GAAElkB,cAAc5T,IAAM,CAAuD,GAAtDoD,EAAEsQ,OAAO,KAAKmmB,GAAG,EAAEC,GAAG5P,KAAK,KAAK9mB,EAAEC,EAAE1S,EAAEsS,QAAG,EAAO,MAAS,OAAO82B,GAAE,MAAM1wB,MAAM3F,EAAE,MAAM,KAAQ,GAAHi0B,KAAQqC,GAAG52B,EAAEH,EAAEtS,EAAE,CAAC,OAAOA,CAAC,CAAC,SAASqpC,GAAG91B,EAAEjB,EAAEG,GAAGc,EAAEwP,OAAO,MAAMxP,EAAE,CAAC01B,YAAY32B,EAAEzS,MAAM4S,GAAmB,QAAhBH,EAAE20B,GAAEnF,cAAsBxvB,EAAE,CAACg3B,WAAW,KAAKC,OAAO,MAAMtC,GAAEnF,YAAYxvB,EAAEA,EAAEi3B,OAAO,CAACh2B,IAAgB,QAAXd,EAAEH,EAAEi3B,QAAgBj3B,EAAEi3B,OAAO,CAACh2B,GAAGd,EAAE1V,KAAKwW,EAAG,CAClf,SAAS41B,GAAG51B,EAAEjB,EAAEG,EAAEC,GAAGJ,EAAEzS,MAAM4S,EAAEH,EAAE22B,YAAYv2B,EAAE82B,GAAGl3B,IAAIm3B,GAAGl2B,EAAE,CAAC,SAASy1B,GAAGz1B,EAAEjB,EAAEG,GAAG,OAAOA,GAAE,WAAW+2B,GAAGl3B,IAAIm3B,GAAGl2B,EAAE,GAAE,CAAC,SAASi2B,GAAGj2B,GAAG,IAAIjB,EAAEiB,EAAE01B,YAAY11B,EAAEA,EAAE1T,MAAM,IAAI,IAAI4S,EAAEH,IAAI,OAAOiiB,GAAGhhB,EAAEd,EAAE,CAAC,MAAMC,GAAG,OAAM,CAAE,CAAC,CAAC,SAAS+2B,GAAGl2B,GAAG,IAAIjB,EAAEqvB,GAAGpuB,EAAE,GAAG,OAAOjB,GAAGsxB,GAAGtxB,EAAEiB,EAAE,GAAG,EAAE,CAClQ,SAASm2B,GAAGn2B,GAAG,IAAIjB,EAAE01B,KAA8M,MAAzM,oBAAoBz0B,IAAIA,EAAEA,KAAKjB,EAAE2Q,cAAc3Q,EAAEyvB,UAAUxuB,EAAEA,EAAE,CAAC4uB,QAAQ,KAAKT,YAAY,KAAKT,MAAM,EAAE0H,SAAS,KAAKL,oBAAoBF,GAAGM,kBAAkBn1B,GAAGjB,EAAE41B,MAAM30B,EAAEA,EAAEA,EAAEo1B,SAASgB,GAAGpQ,KAAK,KAAK0N,GAAE1zB,GAAS,CAACjB,EAAE2Q,cAAc1P,EAAE,CAC5P,SAAS21B,GAAG31B,EAAEjB,EAAEG,EAAEC,GAA8O,OAA3Oa,EAAE,CAAClE,IAAIkE,EAAE5X,OAAO2W,EAAEs3B,QAAQn3B,EAAEo3B,KAAKn3B,EAAE4uB,KAAK,MAAsB,QAAhBhvB,EAAE20B,GAAEnF,cAAsBxvB,EAAE,CAACg3B,WAAW,KAAKC,OAAO,MAAMtC,GAAEnF,YAAYxvB,EAAEA,EAAEg3B,WAAW/1B,EAAE+tB,KAAK/tB,GAAmB,QAAfd,EAAEH,EAAEg3B,YAAoBh3B,EAAEg3B,WAAW/1B,EAAE+tB,KAAK/tB,GAAGb,EAAED,EAAE6uB,KAAK7uB,EAAE6uB,KAAK/tB,EAAEA,EAAE+tB,KAAK5uB,EAAEJ,EAAEg3B,WAAW/1B,GAAWA,CAAC,CAAC,SAASu2B,KAAK,OAAO3B,KAAKllB,aAAa,CAAC,SAAS8mB,GAAGx2B,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEgoC,KAAKf,GAAElkB,OAAOxP,EAAEvT,EAAEijB,cAAcimB,GAAG,EAAE52B,EAAEG,OAAE,OAAO,IAASC,EAAE,KAAKA,EAAE,CAC9Y,SAASs3B,GAAGz2B,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEmoC,KAAKz1B,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIzS,OAAE,EAAO,GAAG,OAAOinC,GAAE,CAAC,IAAIv0B,EAAEu0B,GAAEjkB,cAA0B,GAAZhjB,EAAE0S,EAAEi3B,QAAW,OAAOl3B,GAAG+0B,GAAG/0B,EAAEC,EAAEk3B,MAAmC,YAA5B7pC,EAAEijB,cAAcimB,GAAG52B,EAAEG,EAAExS,EAAEyS,GAAU,CAACu0B,GAAElkB,OAAOxP,EAAEvT,EAAEijB,cAAcimB,GAAG,EAAE52B,EAAEG,EAAExS,EAAEyS,EAAE,CAAC,SAASu3B,GAAG12B,EAAEjB,GAAG,OAAOy3B,GAAG,QAAQ,EAAEx2B,EAAEjB,EAAE,CAAC,SAASy2B,GAAGx1B,EAAEjB,GAAG,OAAO03B,GAAG,KAAK,EAAEz2B,EAAEjB,EAAE,CAAC,SAAS43B,GAAG32B,EAAEjB,GAAG,OAAO03B,GAAG,EAAE,EAAEz2B,EAAEjB,EAAE,CAAC,SAAS63B,GAAG52B,EAAEjB,GAAG,OAAO03B,GAAG,EAAE,EAAEz2B,EAAEjB,EAAE,CAChX,SAAS83B,GAAG72B,EAAEjB,GAAG,MAAG,oBAAoBA,GAASiB,EAAEA,IAAIjB,EAAEiB,GAAG,WAAWjB,EAAE,KAAK,GAAK,OAAOA,QAAG,IAASA,GAASiB,EAAEA,IAAIjB,EAAEiR,QAAQhQ,EAAE,WAAWjB,EAAEiR,QAAQ,IAAI,QAA1E,CAA2E,CAAC,SAAS8mB,GAAG92B,EAAEjB,EAAEG,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE1M,OAAO,CAACwN,IAAI,KAAYy2B,GAAG,EAAE,EAAEI,GAAG7Q,KAAK,KAAKjnB,EAAEiB,GAAGd,EAAE,CAAC,SAAS63B,KAAK,CAAC,SAASC,GAAGh3B,EAAEjB,GAAG,IAAIG,EAAE01B,KAAK71B,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAII,EAAED,EAAEwQ,cAAc,OAAG,OAAOvQ,GAAG,OAAOJ,GAAGm1B,GAAGn1B,EAAEI,EAAE,IAAWA,EAAE,IAAGD,EAAEwQ,cAAc,CAAC1P,EAAEjB,GAAUiB,EAAC,CAC7Z,SAASi3B,GAAGj3B,EAAEjB,GAAG,IAAIG,EAAE01B,KAAK71B,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAII,EAAED,EAAEwQ,cAAc,OAAG,OAAOvQ,GAAG,OAAOJ,GAAGm1B,GAAGn1B,EAAEI,EAAE,IAAWA,EAAE,IAAGa,EAAEA,IAAId,EAAEwQ,cAAc,CAAC1P,EAAEjB,GAAUiB,EAAC,CAAC,SAASk3B,GAAGl3B,EAAEjB,EAAEG,GAAG,OAAG,KAAQ,GAAHu0B,KAAczzB,EAAEwuB,YAAYxuB,EAAEwuB,WAAU,EAAGb,IAAG,GAAI3tB,EAAE0P,cAAcxQ,IAAE8hB,GAAG9hB,EAAEH,KAAKG,EAAE2T,KAAK6gB,GAAEhG,OAAOxuB,EAAEuwB,IAAIvwB,EAAEc,EAAEwuB,WAAU,GAAWzvB,EAAC,CAAC,SAASo4B,GAAGn3B,EAAEjB,GAAG,IAAIG,EAAEgU,GAAEA,GAAE,IAAIhU,GAAG,EAAEA,EAAEA,EAAE,EAAEc,GAAE,GAAI,IAAIb,EAAEq0B,GAAG3d,WAAW2d,GAAG3d,WAAW,CAAC,EAAE,IAAI7V,GAAE,GAAIjB,GAAG,CAAC,QAAQmU,GAAEhU,EAAEs0B,GAAG3d,WAAW1W,CAAC,CAAC,CAAC,SAASi4B,KAAK,OAAOxC,KAAKllB,aAAa,CAC1d,SAAS2nB,GAAGr3B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEixB,GAAGpwB,GAAkE,GAA/Dd,EAAE,CAAC+vB,KAAK9vB,EAAE61B,OAAO91B,EAAE+1B,eAAc,EAAGC,WAAW,KAAKnH,KAAK,MAASuJ,GAAGt3B,GAAGu3B,GAAGx4B,EAAEG,QAAQ,GAAiB,QAAdA,EAAEgvB,GAAGluB,EAAEjB,EAAEG,EAAEC,IAAY,CAAWkxB,GAAGnxB,EAAEc,EAAEb,EAAXgxB,MAAgBqH,GAAGt4B,EAAEH,EAAEI,EAAE,CAAC,CAC/K,SAASi3B,GAAGp2B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEixB,GAAGpwB,GAAGvT,EAAE,CAACwiC,KAAK9vB,EAAE61B,OAAO91B,EAAE+1B,eAAc,EAAGC,WAAW,KAAKnH,KAAK,MAAM,GAAGuJ,GAAGt3B,GAAGu3B,GAAGx4B,EAAEtS,OAAO,CAAC,IAAIC,EAAEsT,EAAEsP,UAAU,GAAG,IAAItP,EAAE0tB,QAAQ,OAAOhhC,GAAG,IAAIA,EAAEghC,QAAiC,QAAxBhhC,EAAEqS,EAAEg2B,qBAA8B,IAAI,IAAI31B,EAAEL,EAAEo2B,kBAAkB91B,EAAE3S,EAAE0S,EAAEF,GAAqC,GAAlCzS,EAAEwoC,eAAc,EAAGxoC,EAAEyoC,WAAW71B,EAAK2hB,GAAG3hB,EAAED,GAAG,CAAC,IAAIE,EAAEP,EAAEovB,YAA+E,OAAnE,OAAO7uB,GAAG7S,EAAEshC,KAAKthC,EAAEwhC,GAAGlvB,KAAKtS,EAAEshC,KAAKzuB,EAAEyuB,KAAKzuB,EAAEyuB,KAAKthC,QAAGsS,EAAEovB,YAAY1hC,EAAQ,CAAC,CAAC,MAAMjB,GAAG,CAAwB,QAAd0T,EAAEgvB,GAAGluB,EAAEjB,EAAEtS,EAAE0S,MAAoBkxB,GAAGnxB,EAAEc,EAAEb,EAAb1S,EAAE0jC,MAAgBqH,GAAGt4B,EAAEH,EAAEI,GAAG,CAAC,CAC/c,SAASm4B,GAAGt3B,GAAG,IAAIjB,EAAEiB,EAAEsP,UAAU,OAAOtP,IAAI0zB,IAAG,OAAO30B,GAAGA,IAAI20B,EAAC,CAAC,SAAS6D,GAAGv3B,EAAEjB,GAAG+0B,GAAGD,IAAG,EAAG,IAAI30B,EAAEc,EAAE4uB,QAAQ,OAAO1vB,EAAEH,EAAEgvB,KAAKhvB,GAAGA,EAAEgvB,KAAK7uB,EAAE6uB,KAAK7uB,EAAE6uB,KAAKhvB,GAAGiB,EAAE4uB,QAAQ7vB,CAAC,CAAC,SAASy4B,GAAGx3B,EAAEjB,EAAEG,GAAG,GAAG,KAAO,QAAFA,GAAW,CAAC,IAAIC,EAAEJ,EAAE2uB,MAAwBxuB,GAAlBC,GAAGa,EAAEsS,aAAkBvT,EAAE2uB,MAAMxuB,EAAE+T,GAAGjT,EAAEd,EAAE,CAAC,CAC9P,IAAIq1B,GAAG,CAACkD,YAAY7J,GAAG8J,YAAYzD,GAAE0D,WAAW1D,GAAE2D,UAAU3D,GAAE4D,oBAAoB5D,GAAE6D,mBAAmB7D,GAAE8D,gBAAgB9D,GAAE+D,QAAQ/D,GAAEgE,WAAWhE,GAAEiE,OAAOjE,GAAEkE,SAASlE,GAAEmE,cAAcnE,GAAEoE,iBAAiBpE,GAAEqE,cAAcrE,GAAEsE,iBAAiBtE,GAAEuE,qBAAqBvE,GAAEwE,MAAMxE,GAAEyE,0BAAyB,GAAItE,GAAG,CAACqD,YAAY7J,GAAG8J,YAAY,SAAS13B,EAAEjB,GAA4C,OAAzC01B,KAAK/kB,cAAc,CAAC1P,OAAE,IAASjB,EAAE,KAAKA,GAAUiB,CAAC,EAAE23B,WAAW/J,GAAGgK,UAAUlB,GAAGmB,oBAAoB,SAAS73B,EAAEjB,EAAEG,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE1M,OAAO,CAACwN,IAAI,KAAYw2B,GAAG,QAC3f,EAAEK,GAAG7Q,KAAK,KAAKjnB,EAAEiB,GAAGd,EAAE,EAAE64B,gBAAgB,SAAS/3B,EAAEjB,GAAG,OAAOy3B,GAAG,QAAQ,EAAEx2B,EAAEjB,EAAE,EAAE+4B,mBAAmB,SAAS93B,EAAEjB,GAAG,OAAOy3B,GAAG,EAAE,EAAEx2B,EAAEjB,EAAE,EAAEi5B,QAAQ,SAASh4B,EAAEjB,GAAG,IAAIG,EAAEu1B,KAAqD,OAAhD11B,OAAE,IAASA,EAAE,KAAKA,EAAEiB,EAAEA,IAAId,EAAEwQ,cAAc,CAAC1P,EAAEjB,GAAUiB,CAAC,EAAEi4B,WAAW,SAASj4B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEs1B,KAAkM,OAA7L11B,OAAE,IAASG,EAAEA,EAAEH,GAAGA,EAAEI,EAAEuQ,cAAcvQ,EAAEqvB,UAAUzvB,EAAEiB,EAAE,CAAC4uB,QAAQ,KAAKT,YAAY,KAAKT,MAAM,EAAE0H,SAAS,KAAKL,oBAAoB/0B,EAAEm1B,kBAAkBp2B,GAAGI,EAAEw1B,MAAM30B,EAAEA,EAAEA,EAAEo1B,SAASiC,GAAGrR,KAAK,KAAK0N,GAAE1zB,GAAS,CAACb,EAAEuQ,cAAc1P,EAAE,EAAEk4B,OAAO,SAASl4B,GAC3d,OAAdA,EAAE,CAACgQ,QAAQhQ,GAAhBy0B,KAA4B/kB,cAAc1P,CAAC,EAAEm4B,SAAShC,GAAGiC,cAAcrB,GAAGsB,iBAAiB,SAASr4B,GAAG,OAAOy0B,KAAK/kB,cAAc1P,CAAC,EAAEs4B,cAAc,WAAW,IAAIt4B,EAAEm2B,IAAG,GAAIp3B,EAAEiB,EAAE,GAA6C,OAA1CA,EAAEm3B,GAAGnR,KAAK,KAAKhmB,EAAE,IAAIy0B,KAAK/kB,cAAc1P,EAAQ,CAACjB,EAAEiB,EAAE,EAAEu4B,iBAAiB,WAAW,EAAEC,qBAAqB,SAASx4B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEu0B,GAAEjnC,EAAEgoC,KAAK,GAAGjJ,GAAE,CAAC,QAAG,IAAStsB,EAAE,MAAMiG,MAAM3F,EAAE,MAAMN,EAAEA,GAAG,KAAK,CAAO,GAANA,EAAEH,IAAO,OAAO82B,GAAE,MAAM1wB,MAAM3F,EAAE,MAAM,KAAQ,GAAHi0B,KAAQqC,GAAG32B,EAAEJ,EAAEG,EAAE,CAACzS,EAAEijB,cAAcxQ,EAAE,IAAIxS,EAAE,CAACJ,MAAM4S,EAAEw2B,YAAY32B,GACvZ,OAD0ZtS,EAAEkoC,MAAMjoC,EAAEgqC,GAAGjB,GAAGzP,KAAK,KAAK7mB,EACpfzS,EAAEsT,GAAG,CAACA,IAAIb,EAAEqQ,OAAO,KAAKmmB,GAAG,EAAEC,GAAG5P,KAAK,KAAK7mB,EAAEzS,EAAEwS,EAAEH,QAAG,EAAO,MAAaG,CAAC,EAAEu5B,MAAM,WAAW,IAAIz4B,EAAEy0B,KAAK11B,EAAE82B,GAAE8C,iBAAiB,GAAGnN,GAAE,CAAC,IAAItsB,EAAE+rB,GAAkDlsB,EAAE,IAAIA,EAAE,KAA9CG,GAAH8rB,KAAU,GAAG,GAAGrZ,GAAhBqZ,IAAsB,IAAInhC,SAAS,IAAIqV,GAAuB,GAAPA,EAAE60B,QAAWh1B,GAAG,IAAIG,EAAErV,SAAS,KAAKkV,GAAG,GAAG,MAAaA,EAAE,IAAIA,EAAE,KAAfG,EAAE80B,MAAmBnqC,SAAS,IAAI,IAAI,OAAOmW,EAAE0P,cAAc3Q,CAAC,EAAE25B,0BAAyB,GAAIrE,GAAG,CAACoD,YAAY7J,GAAG8J,YAAYV,GAAGW,WAAW/J,GAAGgK,UAAUpC,GAAGqC,oBAAoBf,GAAGgB,mBAAmBnB,GAAGoB,gBAAgBnB,GAAGoB,QAAQf,GAAGgB,WAAWnD,GAAGoD,OAAO3B,GAAG4B,SAAS,WAAW,OAAOrD,GAAGD,GAAG,EACrhBuD,cAAcrB,GAAGsB,iBAAiB,SAASr4B,GAAc,OAAOk3B,GAAZtC,KAAiBjB,GAAEjkB,cAAc1P,EAAE,EAAEs4B,cAAc,WAAgD,MAAM,CAArCxD,GAAGD,IAAI,GAAKD,KAAKllB,cAAyB,EAAE6oB,iBAAiBjD,GAAGkD,qBAAqBjD,GAAGkD,MAAMrB,GAAGsB,0BAAyB,GAAIpE,GAAG,CAACmD,YAAY7J,GAAG8J,YAAYV,GAAGW,WAAW/J,GAAGgK,UAAUpC,GAAGqC,oBAAoBf,GAAGgB,mBAAmBnB,GAAGoB,gBAAgBnB,GAAGoB,QAAQf,GAAGgB,WAAW5C,GAAG6C,OAAO3B,GAAG4B,SAAS,WAAW,OAAO9C,GAAGR,GAAG,EAAEuD,cAAcrB,GAAGsB,iBAAiB,SAASr4B,GAAG,IAAIjB,EAAE61B,KAAK,OAAO,OACzfjB,GAAE50B,EAAE2Q,cAAc1P,EAAEk3B,GAAGn4B,EAAE40B,GAAEjkB,cAAc1P,EAAE,EAAEs4B,cAAc,WAAgD,MAAM,CAArCjD,GAAGR,IAAI,GAAKD,KAAKllB,cAAyB,EAAE6oB,iBAAiBjD,GAAGkD,qBAAqBjD,GAAGkD,MAAMrB,GAAGsB,0BAAyB,GAAI,SAASE,GAAG54B,EAAEjB,GAAG,IAAI,IAAIG,EAAE,GAAGC,EAAEJ,EAAE,GAAGG,GAAGuG,EAAGtG,GAAGA,EAAEA,EAAEoQ,aAAapQ,GAAG,IAAI1S,EAAEyS,CAAC,CAAC,MAAMxS,GAAGD,EAAE,6BAA6BC,EAAEmsC,QAAQ,KAAKnsC,EAAE0Y,KAAK,CAAC,MAAM,CAAC9Y,MAAM0T,EAAEgN,OAAOjO,EAAEqG,MAAM3Y,EAAEqsC,OAAO,KAAK,CAAC,SAASC,GAAG/4B,EAAEjB,EAAEG,GAAG,MAAM,CAAC5S,MAAM0T,EAAEgN,OAAO,KAAK5H,MAAM,MAAMlG,EAAEA,EAAE,KAAK45B,OAAO,MAAM/5B,EAAEA,EAAE,KAAK,CACzd,SAASi6B,GAAGh5B,EAAEjB,GAAG,IAAI/R,QAAQisC,MAAMl6B,EAAEzS,MAAM,CAAC,MAAM4S,GAAG0oB,YAAW,WAAW,MAAM1oB,CAAE,GAAE,CAAC,CAAC,IAAIg6B,GAAG,oBAAoBC,QAAQA,QAAQplB,IAAI,SAASqlB,GAAGp5B,EAAEjB,EAAEG,IAAGA,EAAE6vB,IAAI,EAAE7vB,IAAKpD,IAAI,EAAEoD,EAAEgwB,QAAQ,CAACzjC,QAAQ,MAAM,IAAI0T,EAAEJ,EAAEzS,MAAsD,OAAhD4S,EAAEiwB,SAAS,WAAWkK,KAAKA,IAAG,EAAGC,GAAGn6B,GAAG65B,GAAGh5B,EAAEjB,EAAE,EAASG,CAAC,CAC3Q,SAASq6B,GAAGv5B,EAAEjB,EAAEG,IAAGA,EAAE6vB,IAAI,EAAE7vB,IAAKpD,IAAI,EAAE,IAAIqD,EAAEa,EAAE/C,KAAKJ,yBAAyB,GAAG,oBAAoBsC,EAAE,CAAC,IAAI1S,EAAEsS,EAAEzS,MAAM4S,EAAEgwB,QAAQ,WAAW,OAAO/vB,EAAE1S,EAAE,EAAEyS,EAAEiwB,SAAS,WAAW6J,GAAGh5B,EAAEjB,EAAE,CAAC,CAAC,IAAIrS,EAAEsT,EAAEgO,UAA8O,OAApO,OAAOthB,GAAG,oBAAoBA,EAAE8sC,oBAAoBt6B,EAAEiwB,SAAS,WAAW6J,GAAGh5B,EAAEjB,GAAG,oBAAoBI,IAAI,OAAOs6B,GAAGA,GAAG,IAAIz3B,IAAI,CAACW,OAAO82B,GAAGr3B,IAAIO,OAAO,IAAIzD,EAAEH,EAAEqG,MAAMzC,KAAK62B,kBAAkBz6B,EAAEzS,MAAM,CAACotC,eAAe,OAAOx6B,EAAEA,EAAE,IAAI,GAAUA,CAAC,CACnb,SAASy6B,GAAG35B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAE45B,UAAU,GAAG,OAAOz6B,EAAE,CAACA,EAAEa,EAAE45B,UAAU,IAAIV,GAAG,IAAIzsC,EAAE,IAAIuV,IAAI7C,EAAE9T,IAAI0T,EAAEtS,EAAE,WAAiB,KAAXA,EAAE0S,EAAErS,IAAIiS,MAAgBtS,EAAE,IAAIuV,IAAI7C,EAAE9T,IAAI0T,EAAEtS,IAAIA,EAAEi5B,IAAIxmB,KAAKzS,EAAE2V,IAAIlD,GAAGc,EAAE65B,GAAG7T,KAAK,KAAKhmB,EAAEjB,EAAEG,GAAGH,EAAEqpB,KAAKpoB,EAAEA,GAAG,CAAC,SAAS85B,GAAG95B,GAAG,EAAE,CAAC,IAAIjB,EAA4E,IAAvEA,EAAE,KAAKiB,EAAElE,OAAsBiD,EAAE,QAApBA,EAAEiB,EAAE0P,gBAAyB,OAAO3Q,EAAE4Q,YAAuB5Q,EAAE,OAAOiB,EAAEA,EAAEA,EAAEuP,MAAM,OAAO,OAAOvP,GAAG,OAAO,IAAI,CAChW,SAAS+5B,GAAG/5B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,OAAG,KAAY,EAAPuT,EAAEosB,OAAepsB,IAAIjB,EAAEiB,EAAEwP,OAAO,OAAOxP,EAAEwP,OAAO,IAAItQ,EAAEsQ,OAAO,OAAOtQ,EAAEsQ,QAAQ,MAAM,IAAItQ,EAAEpD,MAAM,OAAOoD,EAAEoQ,UAAUpQ,EAAEpD,IAAI,KAAIiD,EAAEgwB,IAAI,EAAE,IAAKjzB,IAAI,EAAEszB,GAAGlwB,EAAEH,EAAE,KAAKG,EAAEwuB,OAAO,GAAG1tB,IAAEA,EAAEwP,OAAO,MAAMxP,EAAE0tB,MAAMjhC,EAASuT,EAAC,CAAC,IAAIg6B,GAAGl2B,EAAGm2B,kBAAkBtM,IAAG,EAAG,SAASuM,GAAGl6B,EAAEjB,EAAEG,EAAEC,GAAGJ,EAAE+Q,MAAM,OAAO9P,EAAEsyB,GAAGvzB,EAAE,KAAKG,EAAEC,GAAGkzB,GAAGtzB,EAAEiB,EAAE8P,MAAM5Q,EAAEC,EAAE,CACnV,SAASg7B,GAAGn6B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAGyS,EAAEA,EAAErB,OAAO,IAAInR,EAAEqS,EAAEyyB,IAAqC,OAAjCjE,GAAGxuB,EAAEtS,GAAG0S,EAAEg1B,GAAGn0B,EAAEjB,EAAEG,EAAEC,EAAEzS,EAAED,GAAGyS,EAAEs1B,KAAQ,OAAOx0B,GAAI2tB,IAA2EnC,IAAGtsB,GAAGksB,GAAGrsB,GAAGA,EAAEyQ,OAAO,EAAE0qB,GAAGl6B,EAAEjB,EAAEI,EAAE1S,GAAUsS,EAAE+Q,QAA7G/Q,EAAEwvB,YAAYvuB,EAAEuuB,YAAYxvB,EAAEyQ,QAAQ,KAAKxP,EAAE0tB,QAAQjhC,EAAE2tC,GAAGp6B,EAAEjB,EAAEtS,GAAoD,CACzN,SAAS4tC,GAAGr6B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,GAAG,OAAOuT,EAAE,CAAC,IAAItT,EAAEwS,EAAEjC,KAAK,MAAG,oBAAoBvQ,GAAI4tC,GAAG5tC,SAAI,IAASA,EAAEgQ,cAAc,OAAOwC,EAAE3B,cAAS,IAAS2B,EAAExC,eAAoDsD,EAAEkyB,GAAGhzB,EAAEjC,KAAK,KAAKkC,EAAEJ,EAAEA,EAAEqtB,KAAK3/B,IAAK+kC,IAAIzyB,EAAEyyB,IAAIxxB,EAAEuP,OAAOxQ,EAASA,EAAE+Q,MAAM9P,IAArGjB,EAAEjD,IAAI,GAAGiD,EAAE9B,KAAKvQ,EAAE6tC,GAAGv6B,EAAEjB,EAAErS,EAAEyS,EAAE1S,GAAyE,CAAW,GAAVC,EAAEsT,EAAE8P,MAAS,KAAK9P,EAAE0tB,MAAMjhC,GAAG,CAAC,IAAI2S,EAAE1S,EAAE8/B,cAA0C,IAAhBttB,EAAE,QAAdA,EAAEA,EAAE3B,SAAmB2B,EAAE+hB,IAAQ7hB,EAAED,IAAIa,EAAEwxB,MAAMzyB,EAAEyyB,IAAI,OAAO4I,GAAGp6B,EAAEjB,EAAEtS,EAAE,CAA6C,OAA5CsS,EAAEyQ,OAAO,GAAExP,EAAEgyB,GAAGtlC,EAAEyS,IAAKqyB,IAAIzyB,EAAEyyB,IAAIxxB,EAAEuP,OAAOxQ,EAASA,EAAE+Q,MAAM9P,CAAC,CAC1b,SAASu6B,GAAGv6B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,GAAG,OAAOuT,EAAE,CAAC,IAAItT,EAAEsT,EAAEwsB,cAAc,GAAGvL,GAAGv0B,EAAEyS,IAAIa,EAAEwxB,MAAMzyB,EAAEyyB,IAAI,IAAG7D,IAAG,EAAG5uB,EAAEgtB,aAAa5sB,EAAEzS,EAAE,KAAKsT,EAAE0tB,MAAMjhC,GAAsC,OAAOsS,EAAE2uB,MAAM1tB,EAAE0tB,MAAM0M,GAAGp6B,EAAEjB,EAAEtS,GAAjE,KAAa,OAARuT,EAAEwP,SAAgBme,IAAG,EAAyC,EAAC,OAAO6M,GAAGx6B,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAE,CACxN,SAASguC,GAAGz6B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEJ,EAAEgtB,aAAat/B,EAAE0S,EAAE8I,SAASvb,EAAE,OAAOsT,EAAEA,EAAE0P,cAAc,KAAK,GAAG,WAAWvQ,EAAEitB,KAAK,GAAG,KAAY,EAAPrtB,EAAEqtB,MAAQrtB,EAAE2Q,cAAc,CAACgrB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMxR,GAAEyR,GAAGC,IAAIA,IAAI57B,MAAM,CAAC,GAAG,KAAO,WAAFA,GAAc,OAAOc,EAAE,OAAOtT,EAAEA,EAAEguC,UAAUx7B,EAAEA,EAAEH,EAAE2uB,MAAM3uB,EAAEuuB,WAAW,WAAWvuB,EAAE2Q,cAAc,CAACgrB,UAAU16B,EAAE26B,UAAU,KAAKC,YAAY,MAAM77B,EAAEwvB,YAAY,KAAKnF,GAAEyR,GAAGC,IAAIA,IAAI96B,EAAE,KAAKjB,EAAE2Q,cAAc,CAACgrB,UAAU,EAAEC,UAAU,KAAKC,YAAY,MAAMz7B,EAAE,OAAOzS,EAAEA,EAAEguC,UAAUx7B,EAAEkqB,GAAEyR,GAAGC,IAAIA,IAAI37B,CAAC,MAAM,OACtfzS,GAAGyS,EAAEzS,EAAEguC,UAAUx7B,EAAEH,EAAE2Q,cAAc,MAAMvQ,EAAED,EAAEkqB,GAAEyR,GAAGC,IAAIA,IAAI37B,EAAc,OAAZ+6B,GAAGl6B,EAAEjB,EAAEtS,EAAEyS,GAAUH,EAAE+Q,KAAK,CAAC,SAASirB,GAAG/6B,EAAEjB,GAAG,IAAIG,EAAEH,EAAEyyB,KAAO,OAAOxxB,GAAG,OAAOd,GAAG,OAAOc,GAAGA,EAAEwxB,MAAMtyB,KAAEH,EAAEyQ,OAAO,IAAIzQ,EAAEyQ,OAAO,QAAO,CAAC,SAASgrB,GAAGx6B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,IAAIC,EAAEk9B,GAAG1qB,GAAGsqB,GAAGF,GAAEtZ,QAAmD,OAA3CtjB,EAAE+8B,GAAG1qB,EAAErS,GAAG6gC,GAAGxuB,EAAEtS,GAAGyS,EAAEi1B,GAAGn0B,EAAEjB,EAAEG,EAAEC,EAAEzS,EAAED,GAAG0S,EAAEq1B,KAAQ,OAAOx0B,GAAI2tB,IAA2EnC,IAAGrsB,GAAGisB,GAAGrsB,GAAGA,EAAEyQ,OAAO,EAAE0qB,GAAGl6B,EAAEjB,EAAEG,EAAEzS,GAAUsS,EAAE+Q,QAA7G/Q,EAAEwvB,YAAYvuB,EAAEuuB,YAAYxvB,EAAEyQ,QAAQ,KAAKxP,EAAE0tB,QAAQjhC,EAAE2tC,GAAGp6B,EAAEjB,EAAEtS,GAAoD,CACla,SAASuuC,GAAGh7B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,GAAGm9B,GAAG1qB,GAAG,CAAC,IAAIxS,GAAE,EAAGu9B,GAAGlrB,EAAE,MAAMrS,GAAE,EAAW,GAAR6gC,GAAGxuB,EAAEtS,GAAM,OAAOsS,EAAEiP,UAAUitB,GAAGj7B,EAAEjB,GAAG4xB,GAAG5xB,EAAEG,EAAEC,GAAG8xB,GAAGlyB,EAAEG,EAAEC,EAAE1S,GAAG0S,GAAE,OAAQ,GAAG,OAAOa,EAAE,CAAC,IAAIZ,EAAEL,EAAEiP,UAAU3O,EAAEN,EAAEytB,cAAcptB,EAAE8xB,MAAM7xB,EAAE,IAAIC,EAAEF,EAAEyuB,QAAQriC,EAAE0T,EAAE1C,YAAY,kBAAkBhR,GAAG,OAAOA,EAAEA,EAAEoiC,GAAGpiC,GAAyBA,EAAEi+B,GAAG1qB,EAA1BvT,EAAEo+B,GAAG1qB,GAAGsqB,GAAGF,GAAEtZ,SAAmB,IAAIzQ,EAAEL,EAAEpC,yBAAyB2C,EAAE,oBAAoBF,GAAG,oBAAoBH,EAAE+xB,wBAAwB1xB,GAAG,oBAAoBL,EAAE4xB,kCAAkC,oBAAoB5xB,EAAE2xB,4BAC1d1xB,IAAIF,GAAGG,IAAI9T,IAAIslC,GAAG/xB,EAAEK,EAAED,EAAE3T,GAAG6iC,IAAG,EAAG,IAAI3uB,EAAEX,EAAE2Q,cAActQ,EAAEwxB,MAAMlxB,EAAE8vB,GAAGzwB,EAAEI,EAAEC,EAAE3S,GAAG6S,EAAEP,EAAE2Q,cAAcrQ,IAAIF,GAAGO,IAAIJ,GAAGiqB,GAAGvZ,SAASqe,IAAI,oBAAoB9uB,IAAIuwB,GAAG/wB,EAAEG,EAAEK,EAAEJ,GAAGG,EAAEP,EAAE2Q,gBAAgBrQ,EAAEgvB,IAAImC,GAAGzxB,EAAEG,EAAEG,EAAEF,EAAEO,EAAEJ,EAAE9T,KAAKiU,GAAG,oBAAoBL,EAAEgyB,2BAA2B,oBAAoBhyB,EAAEiyB,qBAAqB,oBAAoBjyB,EAAEiyB,oBAAoBjyB,EAAEiyB,qBAAqB,oBAAoBjyB,EAAEgyB,2BAA2BhyB,EAAEgyB,6BAA6B,oBAAoBhyB,EAAEkyB,oBAAoBvyB,EAAEyQ,OAAO,WAClf,oBAAoBpQ,EAAEkyB,oBAAoBvyB,EAAEyQ,OAAO,SAASzQ,EAAEytB,cAAcrtB,EAAEJ,EAAE2Q,cAAcpQ,GAAGF,EAAE8xB,MAAM/xB,EAAEC,EAAEwxB,MAAMtxB,EAAEF,EAAEyuB,QAAQriC,EAAE2T,EAAEE,IAAI,oBAAoBD,EAAEkyB,oBAAoBvyB,EAAEyQ,OAAO,SAASrQ,GAAE,EAAG,KAAK,CAACC,EAAEL,EAAEiP,UAAU8gB,GAAG9uB,EAAEjB,GAAGM,EAAEN,EAAEytB,cAAchhC,EAAEuT,EAAE9B,OAAO8B,EAAE6sB,YAAYvsB,EAAEwtB,GAAG9tB,EAAE9B,KAAKoC,GAAGD,EAAE8xB,MAAM1lC,EAAEiU,EAAEV,EAAEgtB,aAAarsB,EAAEN,EAAEyuB,QAAwB,kBAAhBvuB,EAAEJ,EAAE1C,cAAiC,OAAO8C,EAAEA,EAAEsuB,GAAGtuB,GAAyBA,EAAEmqB,GAAG1qB,EAA1BO,EAAEsqB,GAAG1qB,GAAGsqB,GAAGF,GAAEtZ,SAAmB,IAAIlQ,EAAEZ,EAAEpC,0BAA0ByC,EAAE,oBAAoBO,GAAG,oBAAoBV,EAAE+xB,0BAC9e,oBAAoB/xB,EAAE4xB,kCAAkC,oBAAoB5xB,EAAE2xB,4BAA4B1xB,IAAII,GAAGC,IAAIJ,IAAIwxB,GAAG/xB,EAAEK,EAAED,EAAEG,GAAG+uB,IAAG,EAAG3uB,EAAEX,EAAE2Q,cAActQ,EAAEwxB,MAAMlxB,EAAE8vB,GAAGzwB,EAAEI,EAAEC,EAAE3S,GAAG,IAAIP,EAAE6S,EAAE2Q,cAAcrQ,IAAII,GAAGC,IAAIxT,GAAGq9B,GAAGvZ,SAASqe,IAAI,oBAAoBvuB,IAAIgwB,GAAG/wB,EAAEG,EAAEY,EAAEX,GAAGjT,EAAE6S,EAAE2Q,gBAAgBlkB,EAAE6iC,IAAImC,GAAGzxB,EAAEG,EAAE1T,EAAE2T,EAAEO,EAAExT,EAAEoT,KAAI,IAAKC,GAAG,oBAAoBH,EAAE87B,4BAA4B,oBAAoB97B,EAAE+7B,sBAAsB,oBAAoB/7B,EAAE+7B,qBAAqB/7B,EAAE+7B,oBAAoBh8B,EAAEjT,EAAEoT,GAAG,oBAAoBF,EAAE87B,4BAC5f97B,EAAE87B,2BAA2B/7B,EAAEjT,EAAEoT,IAAI,oBAAoBF,EAAEg8B,qBAAqBr8B,EAAEyQ,OAAO,GAAG,oBAAoBpQ,EAAE+xB,0BAA0BpyB,EAAEyQ,OAAO,QAAQ,oBAAoBpQ,EAAEg8B,oBAAoB/7B,IAAIW,EAAEwsB,eAAe9sB,IAAIM,EAAE0P,gBAAgB3Q,EAAEyQ,OAAO,GAAG,oBAAoBpQ,EAAE+xB,yBAAyB9xB,IAAIW,EAAEwsB,eAAe9sB,IAAIM,EAAE0P,gBAAgB3Q,EAAEyQ,OAAO,MAAMzQ,EAAEytB,cAAcrtB,EAAEJ,EAAE2Q,cAAcxjB,GAAGkT,EAAE8xB,MAAM/xB,EAAEC,EAAEwxB,MAAM1kC,EAAEkT,EAAEyuB,QAAQvuB,EAAEH,EAAE3T,IAAI,oBAAoB4T,EAAEg8B,oBAAoB/7B,IAAIW,EAAEwsB,eAAe9sB,IACjfM,EAAE0P,gBAAgB3Q,EAAEyQ,OAAO,GAAG,oBAAoBpQ,EAAE+xB,yBAAyB9xB,IAAIW,EAAEwsB,eAAe9sB,IAAIM,EAAE0P,gBAAgB3Q,EAAEyQ,OAAO,MAAMrQ,GAAE,EAAG,CAAC,OAAOk8B,GAAGr7B,EAAEjB,EAAEG,EAAEC,EAAEzS,EAAED,EAAE,CACnK,SAAS4uC,GAAGr7B,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,GAAGquC,GAAG/6B,EAAEjB,GAAG,IAAIK,EAAE,KAAa,IAARL,EAAEyQ,OAAW,IAAIrQ,IAAIC,EAAE,OAAO3S,GAAG09B,GAAGprB,EAAEG,GAAE,GAAIk7B,GAAGp6B,EAAEjB,EAAErS,GAAGyS,EAAEJ,EAAEiP,UAAUgsB,GAAGhqB,QAAQjR,EAAE,IAAIM,EAAED,GAAG,oBAAoBF,EAAErC,yBAAyB,KAAKsC,EAAEtB,SAAwI,OAA/HkB,EAAEyQ,OAAO,EAAE,OAAOxP,GAAGZ,GAAGL,EAAE+Q,MAAMuiB,GAAGtzB,EAAEiB,EAAE8P,MAAM,KAAKpjB,GAAGqS,EAAE+Q,MAAMuiB,GAAGtzB,EAAE,KAAKM,EAAE3S,IAAIwtC,GAAGl6B,EAAEjB,EAAEM,EAAE3S,GAAGqS,EAAE2Q,cAAcvQ,EAAEyxB,MAAMnkC,GAAG09B,GAAGprB,EAAEG,GAAE,GAAWH,EAAE+Q,KAAK,CAAC,SAASwrB,GAAGt7B,GAAG,IAAIjB,EAAEiB,EAAEgO,UAAUjP,EAAEw8B,eAAezR,GAAG9pB,EAAEjB,EAAEw8B,eAAex8B,EAAEw8B,iBAAiBx8B,EAAE8uB,SAAS9uB,EAAE8uB,SAAS/D,GAAG9pB,EAAEjB,EAAE8uB,SAAQ,GAAI+E,GAAG5yB,EAAEjB,EAAEiW,cAAc,CAC5e,SAASwmB,GAAGx7B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAuC,OAApCigC,KAAKC,GAAGlgC,GAAGsS,EAAEyQ,OAAO,IAAI0qB,GAAGl6B,EAAEjB,EAAEG,EAAEC,GAAUJ,EAAE+Q,KAAK,CAAC,IAaqL2rB,GAAGC,GAAGC,GAAGC,GAb1LC,GAAG,CAAClsB,WAAW,KAAKsc,YAAY,KAAKC,UAAU,GAAG,SAAS4P,GAAG97B,GAAG,MAAM,CAAC06B,UAAU16B,EAAE26B,UAAU,KAAKC,YAAY,KAAK,CAClM,SAASmB,GAAG/7B,EAAEjB,EAAEG,GAAG,IAA0DG,EAAtDF,EAAEJ,EAAEgtB,aAAat/B,EAAEumC,GAAEhjB,QAAQtjB,GAAE,EAAG0S,EAAE,KAAa,IAARL,EAAEyQ,OAAqJ,IAAvInQ,EAAED,KAAKC,GAAE,OAAOW,GAAG,OAAOA,EAAE0P,gBAAiB,KAAO,EAAFjjB,IAAS4S,GAAE3S,GAAE,EAAGqS,EAAEyQ,QAAQ,KAAY,OAAOxP,GAAG,OAAOA,EAAE0P,gBAAcjjB,GAAG,GAAE28B,GAAE4J,GAAI,EAAFvmC,GAAQ,OAAOuT,EAA2B,OAAxBqsB,GAAGttB,GAAwB,QAArBiB,EAAEjB,EAAE2Q,gBAA2C,QAAf1P,EAAEA,EAAE2P,aAA4B,KAAY,EAAP5Q,EAAEqtB,MAAQrtB,EAAE2uB,MAAM,EAAE,OAAO1tB,EAAE1G,KAAKyF,EAAE2uB,MAAM,EAAE3uB,EAAE2uB,MAAM,WAAW,OAAKtuB,EAAED,EAAE8I,SAASjI,EAAEb,EAAE68B,SAAgBtvC,GAAGyS,EAAEJ,EAAEqtB,KAAK1/B,EAAEqS,EAAE+Q,MAAM1Q,EAAE,CAACgtB,KAAK,SAASnkB,SAAS7I,GAAG,KAAO,EAAFD,IAAM,OAAOzS,GAAGA,EAAE4gC,WAAW,EAAE5gC,EAAEq/B,aAC7e3sB,GAAG1S,EAAEuvC,GAAG78B,EAAED,EAAE,EAAE,MAAMa,EAAEoyB,GAAGpyB,EAAEb,EAAED,EAAE,MAAMxS,EAAE6iB,OAAOxQ,EAAEiB,EAAEuP,OAAOxQ,EAAErS,EAAEqjB,QAAQ/P,EAAEjB,EAAE+Q,MAAMpjB,EAAEqS,EAAE+Q,MAAMJ,cAAcosB,GAAG58B,GAAGH,EAAE2Q,cAAcmsB,GAAG77B,GAAGk8B,GAAGn9B,EAAEK,IAAqB,GAAG,QAArB3S,EAAEuT,EAAE0P,gBAA2C,QAAfrQ,EAAE5S,EAAEkjB,YAAqB,OAGpM,SAAY3P,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,GAAG,GAAGF,EAAG,OAAW,IAARH,EAAEyQ,OAAiBzQ,EAAEyQ,QAAQ,IAAwB2sB,GAAGn8B,EAAEjB,EAAEK,EAA3BD,EAAE45B,GAAG5zB,MAAM3F,EAAE,SAAsB,OAAOT,EAAE2Q,eAAqB3Q,EAAE+Q,MAAM9P,EAAE8P,MAAM/Q,EAAEyQ,OAAO,IAAI,OAAK9iB,EAAEyS,EAAE68B,SAASvvC,EAAEsS,EAAEqtB,KAAKjtB,EAAE88B,GAAG,CAAC7P,KAAK,UAAUnkB,SAAS9I,EAAE8I,UAAUxb,EAAE,EAAE,OAAMC,EAAE0lC,GAAG1lC,EAAED,EAAE2S,EAAE,OAAQoQ,OAAO,EAAErQ,EAAEoQ,OAAOxQ,EAAErS,EAAE6iB,OAAOxQ,EAAEI,EAAE4Q,QAAQrjB,EAAEqS,EAAE+Q,MAAM3Q,EAAE,KAAY,EAAPJ,EAAEqtB,OAASiG,GAAGtzB,EAAEiB,EAAE8P,MAAM,KAAK1Q,GAAGL,EAAE+Q,MAAMJ,cAAcosB,GAAG18B,GAAGL,EAAE2Q,cAAcmsB,GAAUnvC,GAAE,GAAG,KAAY,EAAPqS,EAAEqtB,MAAQ,OAAO+P,GAAGn8B,EAAEjB,EAAEK,EAAE,MAAM,GAAG,OAAO3S,EAAE6M,KAAK,CAChd,GADid6F,EAAE1S,EAAE40B,aAAa50B,EAAE40B,YAAY+a,QAC3e,IAAI/8B,EAAEF,EAAEk9B,KAA0C,OAArCl9B,EAAEE,EAA0C88B,GAAGn8B,EAAEjB,EAAEK,EAA/BD,EAAE45B,GAAlBrsC,EAAEyY,MAAM3F,EAAE,MAAaL,OAAE,GAA0B,CAAwB,GAAvBE,EAAE,KAAKD,EAAEY,EAAEstB,YAAeK,IAAItuB,EAAE,CAAK,GAAG,QAAPF,EAAE02B,IAAc,CAAC,OAAOz2B,GAAGA,GAAG,KAAK,EAAE3S,EAAE,EAAE,MAAM,KAAK,GAAGA,EAAE,EAAE,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,KAAK,SAASA,EAAE,GAAG,MAAM,KAAK,UAAUA,EAAE,UAAU,MAAM,QAAQA,EAAE,EAChd,KADkdA,EAAE,KAAKA,GAAG0S,EAAEoT,eAAenT,IAAI,EAAE3S,IAC5eA,IAAIC,EAAEw/B,YAAYx/B,EAAEw/B,UAAUz/B,EAAE2hC,GAAGpuB,EAAEvT,GAAG4jC,GAAGlxB,EAAEa,EAAEvT,GAAG,GAAG,CAA0B,OAAzB6vC,KAAgCH,GAAGn8B,EAAEjB,EAAEK,EAAlCD,EAAE45B,GAAG5zB,MAAM3F,EAAE,OAAyB,CAAC,MAAG,OAAO/S,EAAE6M,MAAYyF,EAAEyQ,OAAO,IAAIzQ,EAAE+Q,MAAM9P,EAAE8P,MAAM/Q,EAAEw9B,GAAGvW,KAAK,KAAKhmB,GAAGvT,EAAE+vC,YAAYz9B,EAAE,OAAKiB,EAAEtT,EAAEu/B,YAAYV,GAAG/C,GAAG/7B,EAAE40B,aAAaiK,GAAGvsB,EAAEysB,IAAE,EAAGC,GAAG,KAAK,OAAOzrB,IAAI6qB,GAAGC,MAAME,GAAGH,GAAGC,MAAMG,GAAGJ,GAAGC,MAAMC,GAAGC,GAAGhrB,EAAEiW,GAAGgV,GAAGjrB,EAAEgsB,SAASjB,GAAGhsB,GAAGA,EAAEm9B,GAAGn9B,EAAEI,EAAE8I,UAAUlJ,EAAEyQ,OAAO,KAAYzQ,EAAC,CALrK09B,CAAGz8B,EAAEjB,EAAEK,EAAED,EAAEE,EAAE5S,EAAEyS,GAAG,GAAGxS,EAAE,CAACA,EAAEyS,EAAE68B,SAAS58B,EAAEL,EAAEqtB,KAAe/sB,GAAV5S,EAAEuT,EAAE8P,OAAUC,QAAQ,IAAIzQ,EAAE,CAAC8sB,KAAK,SAASnkB,SAAS9I,EAAE8I,UAChF,OAD0F,KAAO,EAAF7I,IAAML,EAAE+Q,QAAQrjB,IAAG0S,EAAEJ,EAAE+Q,OAAQwd,WAAW,EAAEnuB,EAAE4sB,aAAazsB,EAAEP,EAAE8sB,UAAU,OAAO1sB,EAAE6yB,GAAGvlC,EAAE6S,IAAKo9B,aAA4B,SAAfjwC,EAAEiwC,aAAuB,OAAOr9B,EAAE3S,EAAEslC,GAAG3yB,EAAE3S,IAAIA,EAAE0lC,GAAG1lC,EAAE0S,EAAEF,EAAE,OAAQsQ,OAAO,EAAG9iB,EAAE6iB,OACnfxQ,EAAEI,EAAEoQ,OAAOxQ,EAAEI,EAAE4Q,QAAQrjB,EAAEqS,EAAE+Q,MAAM3Q,EAAEA,EAAEzS,EAAEA,EAAEqS,EAAE+Q,MAA8B1Q,EAAE,QAA1BA,EAAEY,EAAE8P,MAAMJ,eAAyBosB,GAAG58B,GAAG,CAACw7B,UAAUt7B,EAAEs7B,UAAUx7B,EAAEy7B,UAAU,KAAKC,YAAYx7B,EAAEw7B,aAAaluC,EAAEgjB,cAActQ,EAAE1S,EAAE4gC,WAAWttB,EAAEstB,YAAYpuB,EAAEH,EAAE2Q,cAAcmsB,GAAU18B,CAAC,CAAoO,OAAzNa,GAAVtT,EAAEsT,EAAE8P,OAAUC,QAAQ5Q,EAAE6yB,GAAGtlC,EAAE,CAAC0/B,KAAK,UAAUnkB,SAAS9I,EAAE8I,WAAW,KAAY,EAAPlJ,EAAEqtB,QAAUjtB,EAAEuuB,MAAMxuB,GAAGC,EAAEoQ,OAAOxQ,EAAEI,EAAE4Q,QAAQ,KAAK,OAAO/P,IAAkB,QAAdd,EAAEH,EAAE8sB,YAAoB9sB,EAAE8sB,UAAU,CAAC7rB,GAAGjB,EAAEyQ,OAAO,IAAItQ,EAAE1V,KAAKwW,IAAIjB,EAAE+Q,MAAM3Q,EAAEJ,EAAE2Q,cAAc,KAAYvQ,CAAC,CACnd,SAAS+8B,GAAGl8B,EAAEjB,GAA8D,OAA3DA,EAAEk9B,GAAG,CAAC7P,KAAK,UAAUnkB,SAASlJ,GAAGiB,EAAEosB,KAAK,EAAE,OAAQ7c,OAAOvP,EAASA,EAAE8P,MAAM/Q,CAAC,CAAC,SAASo9B,GAAGn8B,EAAEjB,EAAEG,EAAEC,GAAwG,OAArG,OAAOA,GAAGwtB,GAAGxtB,GAAGkzB,GAAGtzB,EAAEiB,EAAE8P,MAAM,KAAK5Q,IAAGc,EAAEk8B,GAAGn9B,EAAEA,EAAEgtB,aAAa9jB,WAAYuH,OAAO,EAAEzQ,EAAE2Q,cAAc,KAAY1P,CAAC,CAGkJ,SAAS28B,GAAG38B,EAAEjB,EAAEG,GAAGc,EAAE0tB,OAAO3uB,EAAE,IAAII,EAAEa,EAAEsP,UAAU,OAAOnQ,IAAIA,EAAEuuB,OAAO3uB,GAAGsuB,GAAGrtB,EAAEuP,OAAOxQ,EAAEG,EAAE,CACxc,SAAS09B,GAAG58B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,IAAIC,EAAEsT,EAAE0P,cAAc,OAAOhjB,EAAEsT,EAAE0P,cAAc,CAACmtB,YAAY99B,EAAE+9B,UAAU,KAAKC,mBAAmB,EAAEC,KAAK79B,EAAE89B,KAAK/9B,EAAEg+B,SAASzwC,IAAIC,EAAEmwC,YAAY99B,EAAErS,EAAEowC,UAAU,KAAKpwC,EAAEqwC,mBAAmB,EAAErwC,EAAEswC,KAAK79B,EAAEzS,EAAEuwC,KAAK/9B,EAAExS,EAAEwwC,SAASzwC,EAAE,CAC3O,SAAS0wC,GAAGn9B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEJ,EAAEgtB,aAAat/B,EAAE0S,EAAE+zB,YAAYxmC,EAAEyS,EAAE89B,KAAsC,GAAjC/C,GAAGl6B,EAAEjB,EAAEI,EAAE8I,SAAS/I,GAAkB,KAAO,GAAtBC,EAAE6zB,GAAEhjB,UAAqB7Q,EAAI,EAAFA,EAAI,EAAEJ,EAAEyQ,OAAO,QAAQ,CAAC,GAAG,OAAOxP,GAAG,KAAa,IAARA,EAAEwP,OAAWxP,EAAE,IAAIA,EAAEjB,EAAE+Q,MAAM,OAAO9P,GAAG,CAAC,GAAG,KAAKA,EAAElE,IAAI,OAAOkE,EAAE0P,eAAeitB,GAAG38B,EAAEd,EAAEH,QAAQ,GAAG,KAAKiB,EAAElE,IAAI6gC,GAAG38B,EAAEd,EAAEH,QAAQ,GAAG,OAAOiB,EAAE8P,MAAM,CAAC9P,EAAE8P,MAAMP,OAAOvP,EAAEA,EAAEA,EAAE8P,MAAM,QAAQ,CAAC,GAAG9P,IAAIjB,EAAE,MAAMiB,EAAE,KAAK,OAAOA,EAAE+P,SAAS,CAAC,GAAG,OAAO/P,EAAEuP,QAAQvP,EAAEuP,SAASxQ,EAAE,MAAMiB,EAAEA,EAAEA,EAAEuP,MAAM,CAACvP,EAAE+P,QAAQR,OAAOvP,EAAEuP,OAAOvP,EAAEA,EAAE+P,OAAO,CAAC5Q,GAAG,CAAC,CAAQ,GAAPiqB,GAAE4J,GAAE7zB,GAAM,KAAY,EAAPJ,EAAEqtB,MAAQrtB,EAAE2Q,cAC/e,UAAU,OAAOjjB,GAAG,IAAK,WAAqB,IAAVyS,EAAEH,EAAE+Q,MAAUrjB,EAAE,KAAK,OAAOyS,GAAiB,QAAdc,EAAEd,EAAEoQ,YAAoB,OAAO2jB,GAAGjzB,KAAKvT,EAAEyS,GAAGA,EAAEA,EAAE6Q,QAAY,QAAJ7Q,EAAEzS,IAAYA,EAAEsS,EAAE+Q,MAAM/Q,EAAE+Q,MAAM,OAAOrjB,EAAEyS,EAAE6Q,QAAQ7Q,EAAE6Q,QAAQ,MAAM6sB,GAAG79B,GAAE,EAAGtS,EAAEyS,EAAExS,GAAG,MAAM,IAAK,YAA6B,IAAjBwS,EAAE,KAAKzS,EAAEsS,EAAE+Q,MAAU/Q,EAAE+Q,MAAM,KAAK,OAAOrjB,GAAG,CAAe,GAAG,QAAjBuT,EAAEvT,EAAE6iB,YAAuB,OAAO2jB,GAAGjzB,GAAG,CAACjB,EAAE+Q,MAAMrjB,EAAE,KAAK,CAACuT,EAAEvT,EAAEsjB,QAAQtjB,EAAEsjB,QAAQ7Q,EAAEA,EAAEzS,EAAEA,EAAEuT,CAAC,CAAC48B,GAAG79B,GAAE,EAAGG,EAAE,KAAKxS,GAAG,MAAM,IAAK,WAAWkwC,GAAG79B,GAAE,EAAG,KAAK,UAAK,GAAQ,MAAM,QAAQA,EAAE2Q,cAAc,KAAK,OAAO3Q,EAAE+Q,KAAK,CAC7d,SAASmrB,GAAGj7B,EAAEjB,GAAG,KAAY,EAAPA,EAAEqtB,OAAS,OAAOpsB,IAAIA,EAAEsP,UAAU,KAAKvQ,EAAEuQ,UAAU,KAAKvQ,EAAEyQ,OAAO,EAAE,CAAC,SAAS4qB,GAAGp6B,EAAEjB,EAAEG,GAAyD,GAAtD,OAAOc,IAAIjB,EAAEyuB,aAAaxtB,EAAEwtB,cAAciC,IAAI1wB,EAAE2uB,MAAS,KAAKxuB,EAAEH,EAAEuuB,YAAY,OAAO,KAAK,GAAG,OAAOttB,GAAGjB,EAAE+Q,QAAQ9P,EAAE8P,MAAM,MAAM3K,MAAM3F,EAAE,MAAM,GAAG,OAAOT,EAAE+Q,MAAM,CAA4C,IAAjC5Q,EAAE8yB,GAAZhyB,EAAEjB,EAAE+Q,MAAa9P,EAAE+rB,cAAchtB,EAAE+Q,MAAM5Q,EAAMA,EAAEqQ,OAAOxQ,EAAE,OAAOiB,EAAE+P,SAAS/P,EAAEA,EAAE+P,SAAQ7Q,EAAEA,EAAE6Q,QAAQiiB,GAAGhyB,EAAEA,EAAE+rB,eAAgBxc,OAAOxQ,EAAEG,EAAE6Q,QAAQ,IAAI,CAAC,OAAOhR,EAAE+Q,KAAK,CAO9a,SAASstB,GAAGp9B,EAAEjB,GAAG,IAAIysB,GAAE,OAAOxrB,EAAEk9B,UAAU,IAAK,SAASn+B,EAAEiB,EAAEi9B,KAAK,IAAI,IAAI/9B,EAAE,KAAK,OAAOH,GAAG,OAAOA,EAAEuQ,YAAYpQ,EAAEH,GAAGA,EAAEA,EAAEgR,QAAQ,OAAO7Q,EAAEc,EAAEi9B,KAAK,KAAK/9B,EAAE6Q,QAAQ,KAAK,MAAM,IAAK,YAAY7Q,EAAEc,EAAEi9B,KAAK,IAAI,IAAI99B,EAAE,KAAK,OAAOD,GAAG,OAAOA,EAAEoQ,YAAYnQ,EAAED,GAAGA,EAAEA,EAAE6Q,QAAQ,OAAO5Q,EAAEJ,GAAG,OAAOiB,EAAEi9B,KAAKj9B,EAAEi9B,KAAK,KAAKj9B,EAAEi9B,KAAKltB,QAAQ,KAAK5Q,EAAE4Q,QAAQ,KAAK,CAC5U,SAASstB,GAAEr9B,GAAG,IAAIjB,EAAE,OAAOiB,EAAEsP,WAAWtP,EAAEsP,UAAUQ,QAAQ9P,EAAE8P,MAAM5Q,EAAE,EAAEC,EAAE,EAAE,GAAGJ,EAAE,IAAI,IAAItS,EAAEuT,EAAE8P,MAAM,OAAOrjB,GAAGyS,GAAGzS,EAAEihC,MAAMjhC,EAAE6gC,WAAWnuB,GAAkB,SAAf1S,EAAEiwC,aAAsBv9B,GAAW,SAAR1S,EAAE+iB,MAAe/iB,EAAE8iB,OAAOvP,EAAEvT,EAAEA,EAAEsjB,aAAa,IAAItjB,EAAEuT,EAAE8P,MAAM,OAAOrjB,GAAGyS,GAAGzS,EAAEihC,MAAMjhC,EAAE6gC,WAAWnuB,GAAG1S,EAAEiwC,aAAav9B,GAAG1S,EAAE+iB,MAAM/iB,EAAE8iB,OAAOvP,EAAEvT,EAAEA,EAAEsjB,QAAyC,OAAjC/P,EAAE08B,cAAcv9B,EAAEa,EAAEstB,WAAWpuB,EAASH,CAAC,CAC7V,SAASu+B,GAAGt9B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEJ,EAAEgtB,aAAmB,OAANV,GAAGtsB,GAAUA,EAAEjD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAOuhC,GAAEt+B,GAAG,KAAK,KAAK,EAUtD,KAAK,GAAG,OAAO6qB,GAAG7qB,EAAE9B,OAAO4sB,KAAKwT,GAAEt+B,GAAG,KAVqD,KAAK,EAA2Q,OAAzQI,EAAEJ,EAAEiP,UAAU6kB,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAKj0B,EAAEo8B,iBAAiBp8B,EAAE0uB,QAAQ1uB,EAAEo8B,eAAep8B,EAAEo8B,eAAe,MAAS,OAAOv7B,GAAG,OAAOA,EAAE8P,QAAMyc,GAAGxtB,GAAGA,EAAEyQ,OAAO,EAAE,OAAOxP,GAAGA,EAAE0P,cAAcqF,cAAc,KAAa,IAARhW,EAAEyQ,SAAazQ,EAAEyQ,OAAO,KAAK,OAAOic,KAAK8R,GAAG9R,IAAIA,GAAG,QAAOiQ,GAAG17B,EAAEjB,GAAGs+B,GAAEt+B,GAAU,KAAK,KAAK,EAAEg0B,GAAGh0B,GAAG,IAAItS,EAAEkmC,GAAGD,GAAG1iB,SAC7e,GAAT9Q,EAAEH,EAAE9B,KAAQ,OAAO+C,GAAG,MAAMjB,EAAEiP,UAAU2tB,GAAG37B,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAGuT,EAAEwxB,MAAMzyB,EAAEyyB,MAAMzyB,EAAEyQ,OAAO,IAAIzQ,EAAEyQ,OAAO,aAAa,CAAC,IAAIrQ,EAAE,CAAC,GAAG,OAAOJ,EAAEiP,UAAU,MAAM7I,MAAM3F,EAAE,MAAW,OAAL69B,GAAEt+B,GAAU,IAAI,CAAkB,GAAjBiB,EAAE2yB,GAAGH,GAAGxiB,SAAYuc,GAAGxtB,GAAG,CAACI,EAAEJ,EAAEiP,UAAU9O,EAAEH,EAAE9B,KAAK,IAAIvQ,EAAEqS,EAAEytB,cAA+C,OAAjCrtB,EAAEypB,IAAI7pB,EAAEI,EAAE0pB,IAAIn8B,EAAEsT,EAAE,KAAY,EAAPjB,EAAEqtB,MAAeltB,GAAG,IAAK,SAASsmB,GAAE,SAASrmB,GAAGqmB,GAAE,QAAQrmB,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQqmB,GAAE,OAAOrmB,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAI1S,EAAE,EAAEA,EAAEy4B,GAAGl6B,OAAOyB,IAAI+4B,GAAEN,GAAGz4B,GAAG0S,GAAG,MAAM,IAAK,SAASqmB,GAAE,QAAQrmB,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOqmB,GAAE,QACnhBrmB,GAAGqmB,GAAE,OAAOrmB,GAAG,MAAM,IAAK,UAAUqmB,GAAE,SAASrmB,GAAG,MAAM,IAAK,QAAQ8H,EAAG9H,EAAEzS,GAAG84B,GAAE,UAAUrmB,GAAG,MAAM,IAAK,SAASA,EAAE4H,cAAc,CAACy2B,cAAc9wC,EAAE+wC,UAAUjY,GAAE,UAAUrmB,GAAG,MAAM,IAAK,WAAW+I,GAAG/I,EAAEzS,GAAG84B,GAAE,UAAUrmB,GAAkB,IAAI,IAAIC,KAAvB+N,GAAGjO,EAAExS,GAAGD,EAAE,KAAkBC,EAAE,GAAGA,EAAE6V,eAAenD,GAAG,CAAC,IAAIC,EAAE3S,EAAE0S,GAAG,aAAaA,EAAE,kBAAkBC,EAAEF,EAAEpG,cAAcsG,KAAI,IAAK3S,EAAEgxC,0BAA0BrW,GAAGloB,EAAEpG,YAAYsG,EAAEW,GAAGvT,EAAE,CAAC,WAAW4S,IAAI,kBAAkBA,GAAGF,EAAEpG,cAAc,GAAGsG,KAAI,IAAK3S,EAAEgxC,0BAA0BrW,GAAGloB,EAAEpG,YAC1esG,EAAEW,GAAGvT,EAAE,CAAC,WAAW,GAAG4S,IAAI4C,EAAGM,eAAenD,IAAI,MAAMC,GAAG,aAAaD,GAAGomB,GAAE,SAASrmB,EAAE,CAAC,OAAOD,GAAG,IAAK,QAAQ+G,EAAG9G,GAAGoI,EAAGpI,EAAEzS,GAAE,GAAI,MAAM,IAAK,WAAWuZ,EAAG9G,GAAGiJ,GAAGjJ,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBzS,EAAEixC,UAAUx+B,EAAEy+B,QAAQtW,IAAInoB,EAAE1S,EAAEsS,EAAEwvB,YAAYpvB,EAAE,OAAOA,IAAIJ,EAAEyQ,OAAO,EAAE,KAAK,CAACpQ,EAAE,IAAI3S,EAAEoD,SAASpD,EAAEA,EAAEyE,cAAc,iCAAiC8O,IAAIA,EAAEqI,GAAGnJ,IAAI,iCAAiCc,EAAE,WAAWd,IAAGc,EAAEZ,EAAEpO,cAAc,QAASkH,UAAU,qBAAuB8H,EAAEA,EAAEhJ,YAAYgJ,EAAE5E,aAC/f,kBAAkB+D,EAAEkO,GAAGrN,EAAEZ,EAAEpO,cAAckO,EAAE,CAACmO,GAAGlO,EAAEkO,MAAMrN,EAAEZ,EAAEpO,cAAckO,GAAG,WAAWA,IAAIE,EAAEY,EAAEb,EAAEs+B,SAASr+B,EAAEq+B,UAAS,EAAGt+B,EAAE0+B,OAAOz+B,EAAEy+B,KAAK1+B,EAAE0+B,QAAQ79B,EAAEZ,EAAE0+B,gBAAgB99B,EAAEd,GAAGc,EAAE4oB,IAAI7pB,EAAEiB,EAAE6oB,IAAI1pB,EAAEs8B,GAAGz7B,EAAEjB,GAAE,GAAG,GAAIA,EAAEiP,UAAUhO,EAAEA,EAAE,CAAW,OAAVZ,EAAEgO,GAAGlO,EAAEC,GAAUD,GAAG,IAAK,SAASsmB,GAAE,SAASxlB,GAAGwlB,GAAE,QAAQxlB,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQqmB,GAAE,OAAOxlB,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAI1S,EAAE,EAAEA,EAAEy4B,GAAGl6B,OAAOyB,IAAI+4B,GAAEN,GAAGz4B,GAAGuT,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,SAASqmB,GAAE,QAAQxlB,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAOqmB,GAAE,QAClfxlB,GAAGwlB,GAAE,OAAOxlB,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,UAAUqmB,GAAE,SAASxlB,GAAGvT,EAAE0S,EAAE,MAAM,IAAK,QAAQ8H,EAAGjH,EAAEb,GAAG1S,EAAEma,EAAG5G,EAAEb,GAAGqmB,GAAE,UAAUxlB,GAAG,MAAM,IAAK,SAAiL,QAAQvT,EAAE0S,QAAxK,IAAK,SAASa,EAAE+G,cAAc,CAACy2B,cAAcr+B,EAAEs+B,UAAUhxC,EAAE0T,EAAE,CAAC,EAAEhB,EAAE,CAAC7S,WAAM,IAASk5B,GAAE,UAAUxlB,GAAG,MAAM,IAAK,WAAWkI,GAAGlI,EAAEb,GAAG1S,EAAEsb,GAAG/H,EAAEb,GAAGqmB,GAAE,UAAUxlB,GAAiC,IAAItT,KAAhBygB,GAAGjO,EAAEzS,GAAG4S,EAAE5S,EAAa,GAAG4S,EAAEkD,eAAe7V,GAAG,CAAC,IAAI4S,EAAED,EAAE3S,GAAG,UAAUA,EAAEmf,GAAG7L,EAAEV,GAAG,4BAA4B5S,EAAuB,OAApB4S,EAAEA,EAAEA,EAAEooB,YAAO,IAAgBlf,GAAGxI,EAAEV,GAAI,aAAa5S,EAAE,kBAAkB4S,GAAG,aAC7eJ,GAAG,KAAKI,IAAIsJ,GAAG5I,EAAEV,GAAG,kBAAkBA,GAAGsJ,GAAG5I,EAAE,GAAGV,GAAG,mCAAmC5S,GAAG,6BAA6BA,GAAG,cAAcA,IAAIuV,EAAGM,eAAe7V,GAAG,MAAM4S,GAAG,aAAa5S,GAAG84B,GAAE,SAASxlB,GAAG,MAAMV,GAAGiE,EAAGvD,EAAEtT,EAAE4S,EAAEF,GAAG,CAAC,OAAOF,GAAG,IAAK,QAAQ+G,EAAGjG,GAAGuH,EAAGvH,EAAEb,GAAE,GAAI,MAAM,IAAK,WAAW8G,EAAGjG,GAAGoI,GAAGpI,GAAG,MAAM,IAAK,SAAS,MAAMb,EAAE7S,OAAO0T,EAAExI,aAAa,QAAQ,GAAGuO,EAAG5G,EAAE7S,QAAQ,MAAM,IAAK,SAAS0T,EAAEy9B,WAAWt+B,EAAEs+B,SAAmB,OAAV/wC,EAAEyS,EAAE7S,OAAcob,GAAG1H,IAAIb,EAAEs+B,SAAS/wC,GAAE,GAAI,MAAMyS,EAAE2H,cAAcY,GAAG1H,IAAIb,EAAEs+B,SAASt+B,EAAE2H,cAClf,GAAI,MAAM,QAAQ,oBAAoBra,EAAEkxC,UAAU39B,EAAE49B,QAAQtW,IAAI,OAAOpoB,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWC,IAAIA,EAAE4+B,UAAU,MAAM/9B,EAAE,IAAK,MAAMb,GAAE,EAAG,MAAMa,EAAE,QAAQb,GAAE,EAAG,CAACA,IAAIJ,EAAEyQ,OAAO,EAAE,CAAC,OAAOzQ,EAAEyyB,MAAMzyB,EAAEyQ,OAAO,IAAIzQ,EAAEyQ,OAAO,QAAQ,CAAM,OAAL6tB,GAAEt+B,GAAU,KAAK,KAAK,EAAE,GAAGiB,GAAG,MAAMjB,EAAEiP,UAAU4tB,GAAG57B,EAAEjB,EAAEiB,EAAEwsB,cAAcrtB,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOJ,EAAEiP,UAAU,MAAM7I,MAAM3F,EAAE,MAAsC,GAAhCN,EAAEyzB,GAAGD,GAAG1iB,SAAS2iB,GAAGH,GAAGxiB,SAAYuc,GAAGxtB,GAAG,CAAyC,GAAxCI,EAAEJ,EAAEiP,UAAU9O,EAAEH,EAAEytB,cAAcrtB,EAAEypB,IAAI7pB,GAAKrS,EAAEyS,EAAE2J,YAAY5J,IAC/e,QADofc,EACvfsrB,IAAY,OAAOtrB,EAAElE,KAAK,KAAK,EAAEurB,GAAGloB,EAAE2J,UAAU5J,EAAE,KAAY,EAAPc,EAAEosB,OAAS,MAAM,KAAK,GAAE,IAAKpsB,EAAEwsB,cAAckR,0BAA0BrW,GAAGloB,EAAE2J,UAAU5J,EAAE,KAAY,EAAPc,EAAEosB,OAAS1/B,IAAIqS,EAAEyQ,OAAO,EAAE,MAAMrQ,GAAG,IAAID,EAAErP,SAASqP,EAAEA,EAAEhO,eAAemH,eAAe8G,IAAKypB,IAAI7pB,EAAEA,EAAEiP,UAAU7O,CAAC,CAAM,OAALk+B,GAAEt+B,GAAU,KAAK,KAAK,GAA0B,GAAvBoqB,GAAE6J,IAAG7zB,EAAEJ,EAAE2Q,cAAiB,OAAO1P,GAAG,OAAOA,EAAE0P,eAAe,OAAO1P,EAAE0P,cAAcC,WAAW,CAAC,GAAG6b,IAAG,OAAOD,IAAI,KAAY,EAAPxsB,EAAEqtB,OAAS,KAAa,IAARrtB,EAAEyQ,OAAWid,KAAKC,KAAK3tB,EAAEyQ,OAAO,MAAM9iB,GAAE,OAAQ,GAAGA,EAAE6/B,GAAGxtB,GAAG,OAAOI,GAAG,OAAOA,EAAEwQ,WAAW,CAAC,GAAG,OAC5f3P,EAAE,CAAC,IAAItT,EAAE,MAAMyY,MAAM3F,EAAE,MAAqD,KAA7B9S,EAAE,QAApBA,EAAEqS,EAAE2Q,eAAyBhjB,EAAEijB,WAAW,MAAW,MAAMxK,MAAM3F,EAAE,MAAM9S,EAAEk8B,IAAI7pB,CAAC,MAAM2tB,KAAK,KAAa,IAAR3tB,EAAEyQ,SAAazQ,EAAE2Q,cAAc,MAAM3Q,EAAEyQ,OAAO,EAAE6tB,GAAEt+B,GAAGrS,GAAE,CAAE,MAAM,OAAO++B,KAAK8R,GAAG9R,IAAIA,GAAG,MAAM/+B,GAAE,EAAG,IAAIA,EAAE,OAAe,MAARqS,EAAEyQ,MAAYzQ,EAAE,IAAI,CAAC,OAAG,KAAa,IAARA,EAAEyQ,QAAkBzQ,EAAE2uB,MAAMxuB,EAAEH,KAAEI,EAAE,OAAOA,MAAO,OAAOa,GAAG,OAAOA,EAAE0P,gBAAgBvQ,IAAIJ,EAAE+Q,MAAMN,OAAO,KAAK,KAAY,EAAPzQ,EAAEqtB,QAAU,OAAOpsB,GAAG,KAAe,EAAVgzB,GAAEhjB,SAAW,IAAIguB,KAAIA,GAAE,GAAG1B,OAAO,OAAOv9B,EAAEwvB,cAAcxvB,EAAEyQ,OAAO,GAAG6tB,GAAEt+B,GAAU,MAAK,KAAK,EAAE,OAAO8zB,KACrf6I,GAAG17B,EAAEjB,GAAG,OAAOiB,GAAG+lB,GAAGhnB,EAAEiP,UAAUgH,eAAeqoB,GAAEt+B,GAAG,KAAK,KAAK,GAAG,OAAOouB,GAAGpuB,EAAE9B,KAAK0I,UAAU03B,GAAEt+B,GAAG,KAA+C,KAAK,GAA0B,GAAvBoqB,GAAE6J,IAAwB,QAArBtmC,EAAEqS,EAAE2Q,eAA0B,OAAO2tB,GAAEt+B,GAAG,KAAuC,GAAlCI,EAAE,KAAa,IAARJ,EAAEyQ,OAA4B,QAAjBpQ,EAAE1S,EAAEowC,WAAsB,GAAG39B,EAAEi+B,GAAG1wC,GAAE,OAAQ,CAAC,GAAG,IAAIsxC,IAAG,OAAOh+B,GAAG,KAAa,IAARA,EAAEwP,OAAW,IAAIxP,EAAEjB,EAAE+Q,MAAM,OAAO9P,GAAG,CAAS,GAAG,QAAXZ,EAAE6zB,GAAGjzB,IAAe,CAAmG,IAAlGjB,EAAEyQ,OAAO,IAAI4tB,GAAG1wC,GAAE,GAAoB,QAAhByS,EAAEC,EAAEmvB,eAAuBxvB,EAAEwvB,YAAYpvB,EAAEJ,EAAEyQ,OAAO,GAAGzQ,EAAE29B,aAAa,EAAEv9B,EAAED,EAAMA,EAAEH,EAAE+Q,MAAM,OAAO5Q,GAAOc,EAAEb,GAANzS,EAAEwS,GAAQsQ,OAAO,SAC/d,QAAdpQ,EAAE1S,EAAE4iB,YAAoB5iB,EAAE4gC,WAAW,EAAE5gC,EAAEghC,MAAM1tB,EAAEtT,EAAEojB,MAAM,KAAKpjB,EAAEgwC,aAAa,EAAEhwC,EAAE8/B,cAAc,KAAK9/B,EAAEgjB,cAAc,KAAKhjB,EAAE6hC,YAAY,KAAK7hC,EAAE8gC,aAAa,KAAK9gC,EAAEshB,UAAU,OAAOthB,EAAE4gC,WAAWluB,EAAEkuB,WAAW5gC,EAAEghC,MAAMtuB,EAAEsuB,MAAMhhC,EAAEojB,MAAM1Q,EAAE0Q,MAAMpjB,EAAEgwC,aAAa,EAAEhwC,EAAEm/B,UAAU,KAAKn/B,EAAE8/B,cAAcptB,EAAEotB,cAAc9/B,EAAEgjB,cAActQ,EAAEsQ,cAAchjB,EAAE6hC,YAAYnvB,EAAEmvB,YAAY7hC,EAAEuQ,KAAKmC,EAAEnC,KAAK+C,EAAEZ,EAAEouB,aAAa9gC,EAAE8gC,aAAa,OAAOxtB,EAAE,KAAK,CAAC0tB,MAAM1tB,EAAE0tB,MAAMD,aAAaztB,EAAEytB,eAAevuB,EAAEA,EAAE6Q,QAA2B,OAAnBqZ,GAAE4J,GAAY,EAAVA,GAAEhjB,QAAU,GAAUjR,EAAE+Q,KAAK,CAAC9P,EAClgBA,EAAE+P,OAAO,CAAC,OAAOrjB,EAAEuwC,MAAMtsB,KAAIstB,KAAKl/B,EAAEyQ,OAAO,IAAIrQ,GAAE,EAAGi+B,GAAG1wC,GAAE,GAAIqS,EAAE2uB,MAAM,QAAQ,KAAK,CAAC,IAAIvuB,EAAE,GAAW,QAARa,EAAEizB,GAAG7zB,KAAa,GAAGL,EAAEyQ,OAAO,IAAIrQ,GAAE,EAAmB,QAAhBD,EAAEc,EAAEuuB,eAAuBxvB,EAAEwvB,YAAYrvB,EAAEH,EAAEyQ,OAAO,GAAG4tB,GAAG1wC,GAAE,GAAI,OAAOA,EAAEuwC,MAAM,WAAWvwC,EAAEwwC,WAAW99B,EAAEkQ,YAAYkc,GAAE,OAAO6R,GAAEt+B,GAAG,UAAU,EAAE4R,KAAIjkB,EAAEqwC,mBAAmBkB,IAAI,aAAa/+B,IAAIH,EAAEyQ,OAAO,IAAIrQ,GAAE,EAAGi+B,GAAG1wC,GAAE,GAAIqS,EAAE2uB,MAAM,SAAShhC,EAAEmwC,aAAaz9B,EAAE2Q,QAAQhR,EAAE+Q,MAAM/Q,EAAE+Q,MAAM1Q,IAAa,QAATF,EAAExS,EAAEswC,MAAc99B,EAAE6Q,QAAQ3Q,EAAEL,EAAE+Q,MAAM1Q,EAAE1S,EAAEswC,KAAK59B,EAAE,CAAC,OAAG,OAAO1S,EAAEuwC,MAAYl+B,EAAErS,EAAEuwC,KAAKvwC,EAAEowC,UAC9e/9B,EAAErS,EAAEuwC,KAAKl+B,EAAEgR,QAAQrjB,EAAEqwC,mBAAmBpsB,KAAI5R,EAAEgR,QAAQ,KAAK7Q,EAAE8zB,GAAEhjB,QAAQoZ,GAAE4J,GAAE7zB,EAAI,EAAFD,EAAI,EAAI,EAAFA,GAAKH,IAAEs+B,GAAEt+B,GAAU,MAAK,KAAK,GAAG,KAAK,GAAG,OAAOm/B,KAAK/+B,EAAE,OAAOJ,EAAE2Q,cAAc,OAAO1P,GAAG,OAAOA,EAAE0P,gBAAgBvQ,IAAIJ,EAAEyQ,OAAO,MAAMrQ,GAAG,KAAY,EAAPJ,EAAEqtB,MAAQ,KAAQ,WAAH0O,MAAiBuC,GAAEt+B,GAAkB,EAAfA,EAAE29B,eAAiB39B,EAAEyQ,OAAO,OAAO6tB,GAAEt+B,GAAG,KAAK,KAAK,GAAe,KAAK,GAAG,OAAO,KAAK,MAAMoG,MAAM3F,EAAE,IAAIT,EAAEjD,KAAM,CAClX,SAASqiC,GAAGn+B,EAAEjB,GAAS,OAANssB,GAAGtsB,GAAUA,EAAEjD,KAAK,KAAK,EAAE,OAAO8tB,GAAG7qB,EAAE9B,OAAO4sB,KAAiB,OAAZ7pB,EAAEjB,EAAEyQ,QAAezQ,EAAEyQ,OAAS,MAAHxP,EAAS,IAAIjB,GAAG,KAAK,KAAK,EAAE,OAAO8zB,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAe,KAAO,OAAjBpzB,EAAEjB,EAAEyQ,SAAqB,KAAO,IAAFxP,IAAQjB,EAAEyQ,OAAS,MAAHxP,EAAS,IAAIjB,GAAG,KAAK,KAAK,EAAE,OAAOg0B,GAAGh0B,GAAG,KAAK,KAAK,GAA0B,GAAvBoqB,GAAE6J,IAAwB,QAArBhzB,EAAEjB,EAAE2Q,gBAA2B,OAAO1P,EAAE2P,WAAW,CAAC,GAAG,OAAO5Q,EAAEuQ,UAAU,MAAMnK,MAAM3F,EAAE,MAAMktB,IAAI,CAAW,OAAS,OAAnB1sB,EAAEjB,EAAEyQ,QAAsBzQ,EAAEyQ,OAAS,MAAHxP,EAAS,IAAIjB,GAAG,KAAK,KAAK,GAAG,OAAOoqB,GAAE6J,IAAG,KAAK,KAAK,EAAE,OAAOH,KAAK,KAAK,KAAK,GAAG,OAAO1F,GAAGpuB,EAAE9B,KAAK0I,UAAU,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOu4B,KAC1gB,KAAyB,QAAQ,OAAO,KAAK,CArB7CzC,GAAG,SAASz7B,EAAEjB,GAAG,IAAI,IAAIG,EAAEH,EAAE+Q,MAAM,OAAO5Q,GAAG,CAAC,GAAG,IAAIA,EAAEpD,KAAK,IAAIoD,EAAEpD,IAAIkE,EAAE7E,YAAY+D,EAAE8O,gBAAgB,GAAG,IAAI9O,EAAEpD,KAAK,OAAOoD,EAAE4Q,MAAM,CAAC5Q,EAAE4Q,MAAMP,OAAOrQ,EAAEA,EAAEA,EAAE4Q,MAAM,QAAQ,CAAC,GAAG5Q,IAAIH,EAAE,MAAM,KAAK,OAAOG,EAAE6Q,SAAS,CAAC,GAAG,OAAO7Q,EAAEqQ,QAAQrQ,EAAEqQ,SAASxQ,EAAE,OAAOG,EAAEA,EAAEqQ,MAAM,CAACrQ,EAAE6Q,QAAQR,OAAOrQ,EAAEqQ,OAAOrQ,EAAEA,EAAE6Q,OAAO,CAAC,EAAE2rB,GAAG,WAAW,EACxTC,GAAG,SAAS37B,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEuT,EAAEwsB,cAAc,GAAG//B,IAAI0S,EAAE,CAACa,EAAEjB,EAAEiP,UAAU2kB,GAAGH,GAAGxiB,SAAS,IAA4R5Q,EAAxR1S,EAAE,KAAK,OAAOwS,GAAG,IAAK,QAAQzS,EAAEma,EAAG5G,EAAEvT,GAAG0S,EAAEyH,EAAG5G,EAAEb,GAAGzS,EAAE,GAAG,MAAM,IAAK,SAASD,EAAE0T,EAAE,CAAC,EAAE1T,EAAE,CAACH,WAAM,IAAS6S,EAAEgB,EAAE,CAAC,EAAEhB,EAAE,CAAC7S,WAAM,IAASI,EAAE,GAAG,MAAM,IAAK,WAAWD,EAAEsb,GAAG/H,EAAEvT,GAAG0S,EAAE4I,GAAG/H,EAAEb,GAAGzS,EAAE,GAAG,MAAM,QAAQ,oBAAoBD,EAAEkxC,SAAS,oBAAoBx+B,EAAEw+B,UAAU39B,EAAE49B,QAAQtW,IAAyB,IAAI97B,KAAzB2hB,GAAGjO,EAAEC,GAASD,EAAE,KAAczS,EAAE,IAAI0S,EAAEoD,eAAe/W,IAAIiB,EAAE8V,eAAe/W,IAAI,MAAMiB,EAAEjB,GAAG,GAAG,UAAUA,EAAE,CAAC,IAAI6T,EAAE5S,EAAEjB,GAAG,IAAI4T,KAAKC,EAAEA,EAAEkD,eAAenD,KACjfF,IAAIA,EAAE,CAAC,GAAGA,EAAEE,GAAG,GAAG,KAAK,4BAA4B5T,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAIyW,EAAGM,eAAe/W,GAAGkB,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAIlD,KAAKgC,EAAE,OAAO,IAAIA,KAAK2T,EAAE,CAAC,IAAIG,EAAEH,EAAE3T,GAAyB,GAAtB6T,EAAE,MAAM5S,EAAEA,EAAEjB,QAAG,EAAU2T,EAAEoD,eAAe/W,IAAI8T,IAAID,IAAI,MAAMC,GAAG,MAAMD,GAAG,GAAG,UAAU7T,EAAE,GAAG6T,EAAE,CAAC,IAAID,KAAKC,GAAGA,EAAEkD,eAAenD,IAAIE,GAAGA,EAAEiD,eAAenD,KAAKF,IAAIA,EAAE,CAAC,GAAGA,EAAEE,GAAG,IAAI,IAAIA,KAAKE,EAAEA,EAAEiD,eAAenD,IAAIC,EAAED,KAAKE,EAAEF,KAAKF,IAAIA,EAAE,CAAC,GAAGA,EAAEE,GAAGE,EAAEF,GAAG,MAAMF,IAAIxS,IAAIA,EAAE,IAAIA,EAAElD,KAAKgC,EACpf0T,IAAIA,EAAEI,MAAM,4BAA4B9T,GAAG8T,EAAEA,EAAEA,EAAEooB,YAAO,EAAOroB,EAAEA,EAAEA,EAAEqoB,YAAO,EAAO,MAAMpoB,GAAGD,IAAIC,IAAI5S,EAAEA,GAAG,IAAIlD,KAAKgC,EAAE8T,IAAI,aAAa9T,EAAE,kBAAkB8T,GAAG,kBAAkBA,IAAI5S,EAAEA,GAAG,IAAIlD,KAAKgC,EAAE,GAAG8T,GAAG,mCAAmC9T,GAAG,6BAA6BA,IAAIyW,EAAGM,eAAe/W,IAAI,MAAM8T,GAAG,aAAa9T,GAAGg6B,GAAE,SAASxlB,GAAGtT,GAAG2S,IAAIC,IAAI5S,EAAE,MAAMA,EAAEA,GAAG,IAAIlD,KAAKgC,EAAE8T,GAAG,CAACJ,IAAIxS,EAAEA,GAAG,IAAIlD,KAAK,QAAQ0V,GAAG,IAAI1T,EAAEkB,GAAKqS,EAAEwvB,YAAY/iC,KAAEuT,EAAEyQ,OAAO,EAAC,CAAC,EAAEosB,GAAG,SAAS57B,EAAEjB,EAAEG,EAAEC,GAAGD,IAAIC,IAAIJ,EAAEyQ,OAAO,EAAE,EAkBlb,IAAI4uB,IAAG,EAAGC,IAAE,EAAGC,GAAG,oBAAoBC,QAAQA,QAAQv8B,IAAIw8B,GAAE,KAAK,SAASC,GAAGz+B,EAAEjB,GAAG,IAAIG,EAAEc,EAAEwxB,IAAI,GAAG,OAAOtyB,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,KAAK,CAAC,MAAMC,GAAGu/B,GAAE1+B,EAAEjB,EAAEI,EAAE,MAAMD,EAAE8Q,QAAQ,IAAI,CAAC,SAAS2uB,GAAG3+B,EAAEjB,EAAEG,GAAG,IAAIA,GAAG,CAAC,MAAMC,GAAGu/B,GAAE1+B,EAAEjB,EAAEI,EAAE,CAAC,CAAC,IAAIy/B,IAAG,EAIxR,SAASC,GAAG7+B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEJ,EAAEwvB,YAAyC,GAAG,QAAhCpvB,EAAE,OAAOA,EAAEA,EAAE42B,WAAW,MAAiB,CAAC,IAAItpC,EAAE0S,EAAEA,EAAE4uB,KAAK,EAAE,CAAC,IAAIthC,EAAEqP,IAAIkE,KAAKA,EAAE,CAAC,IAAItT,EAAED,EAAE4pC,QAAQ5pC,EAAE4pC,aAAQ,OAAO,IAAS3pC,GAAGiyC,GAAG5/B,EAAEG,EAAExS,EAAE,CAACD,EAAEA,EAAEshC,IAAI,OAAOthC,IAAI0S,EAAE,CAAC,CAAC,SAAS2/B,GAAG9+B,EAAEjB,GAAgD,GAAG,QAAhCA,EAAE,QAAlBA,EAAEA,EAAEwvB,aAAuBxvB,EAAEg3B,WAAW,MAAiB,CAAC,IAAI72B,EAAEH,EAAEA,EAAEgvB,KAAK,EAAE,CAAC,IAAI7uB,EAAEpD,IAAIkE,KAAKA,EAAE,CAAC,IAAIb,EAAED,EAAE9W,OAAO8W,EAAEm3B,QAAQl3B,GAAG,CAACD,EAAEA,EAAE6uB,IAAI,OAAO7uB,IAAIH,EAAE,CAAC,CAAC,SAASggC,GAAG/+B,GAAG,IAAIjB,EAAEiB,EAAEwxB,IAAI,GAAG,OAAOzyB,EAAE,CAAC,IAAIG,EAAEc,EAAEgO,UAAiBhO,EAAElE,IAA8BkE,EAAEd,EAAE,oBAAoBH,EAAEA,EAAEiB,GAAGjB,EAAEiR,QAAQhQ,CAAC,CAAC,CAClf,SAASg/B,GAAGh/B,GAAG,IAAIjB,EAAEiB,EAAEsP,UAAU,OAAOvQ,IAAIiB,EAAEsP,UAAU,KAAK0vB,GAAGjgC,IAAIiB,EAAE8P,MAAM,KAAK9P,EAAE6rB,UAAU,KAAK7rB,EAAE+P,QAAQ,KAAK,IAAI/P,EAAElE,MAAoB,QAAdiD,EAAEiB,EAAEgO,oBAA4BjP,EAAE6pB,WAAW7pB,EAAE8pB,WAAW9pB,EAAE0mB,WAAW1mB,EAAE+pB,WAAW/pB,EAAEgqB,MAAM/oB,EAAEgO,UAAU,KAAKhO,EAAEuP,OAAO,KAAKvP,EAAEwtB,aAAa,KAAKxtB,EAAEwsB,cAAc,KAAKxsB,EAAE0P,cAAc,KAAK1P,EAAE+rB,aAAa,KAAK/rB,EAAEgO,UAAU,KAAKhO,EAAEuuB,YAAY,IAAI,CAAC,SAAS0Q,GAAGj/B,GAAG,OAAO,IAAIA,EAAElE,KAAK,IAAIkE,EAAElE,KAAK,IAAIkE,EAAElE,GAAG,CACna,SAASojC,GAAGl/B,GAAGA,EAAE,OAAO,CAAC,KAAK,OAAOA,EAAE+P,SAAS,CAAC,GAAG,OAAO/P,EAAEuP,QAAQ0vB,GAAGj/B,EAAEuP,QAAQ,OAAO,KAAKvP,EAAEA,EAAEuP,MAAM,CAA2B,IAA1BvP,EAAE+P,QAAQR,OAAOvP,EAAEuP,OAAWvP,EAAEA,EAAE+P,QAAQ,IAAI/P,EAAElE,KAAK,IAAIkE,EAAElE,KAAK,KAAKkE,EAAElE,KAAK,CAAC,GAAW,EAARkE,EAAEwP,MAAQ,SAASxP,EAAE,GAAG,OAAOA,EAAE8P,OAAO,IAAI9P,EAAElE,IAAI,SAASkE,EAAOA,EAAE8P,MAAMP,OAAOvP,EAAEA,EAAEA,EAAE8P,KAAK,CAAC,KAAa,EAAR9P,EAAEwP,OAAS,OAAOxP,EAAEgO,SAAS,CAAC,CACzT,SAASmxB,GAAGn/B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAElE,IAAI,GAAG,IAAIqD,GAAG,IAAIA,EAAEa,EAAEA,EAAEgO,UAAUjP,EAAE,IAAIG,EAAErP,SAASqP,EAAEnI,WAAWqB,aAAa4H,EAAEjB,GAAGG,EAAE9G,aAAa4H,EAAEjB,IAAI,IAAIG,EAAErP,UAAUkP,EAAEG,EAAEnI,YAAaqB,aAAa4H,EAAEd,IAAKH,EAAEG,GAAI/D,YAAY6E,GAA4B,QAAxBd,EAAEA,EAAEkgC,2BAA8B,IAASlgC,GAAG,OAAOH,EAAE6+B,UAAU7+B,EAAE6+B,QAAQtW,UAAU,GAAG,IAAInoB,GAAc,QAAVa,EAAEA,EAAE8P,OAAgB,IAAIqvB,GAAGn/B,EAAEjB,EAAEG,GAAGc,EAAEA,EAAE+P,QAAQ,OAAO/P,GAAGm/B,GAAGn/B,EAAEjB,EAAEG,GAAGc,EAAEA,EAAE+P,OAAO,CAC1X,SAASsvB,GAAGr/B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAElE,IAAI,GAAG,IAAIqD,GAAG,IAAIA,EAAEa,EAAEA,EAAEgO,UAAUjP,EAAEG,EAAE9G,aAAa4H,EAAEjB,GAAGG,EAAE/D,YAAY6E,QAAQ,GAAG,IAAIb,GAAc,QAAVa,EAAEA,EAAE8P,OAAgB,IAAIuvB,GAAGr/B,EAAEjB,EAAEG,GAAGc,EAAEA,EAAE+P,QAAQ,OAAO/P,GAAGq/B,GAAGr/B,EAAEjB,EAAEG,GAAGc,EAAEA,EAAE+P,OAAO,CAAC,IAAIuvB,GAAE,KAAKC,IAAG,EAAG,SAASC,GAAGx/B,EAAEjB,EAAEG,GAAG,IAAIA,EAAEA,EAAE4Q,MAAM,OAAO5Q,GAAGugC,GAAGz/B,EAAEjB,EAAEG,GAAGA,EAAEA,EAAE6Q,OAAO,CACnR,SAAS0vB,GAAGz/B,EAAEjB,EAAEG,GAAG,GAAGwS,IAAI,oBAAoBA,GAAGguB,qBAAqB,IAAIhuB,GAAGguB,qBAAqBjuB,GAAGvS,EAAE,CAAC,MAAMG,GAAG,CAAC,OAAOH,EAAEpD,KAAK,KAAK,EAAEuiC,IAAGI,GAAGv/B,EAAEH,GAAG,KAAK,EAAE,IAAII,EAAEmgC,GAAE7yC,EAAE8yC,GAAGD,GAAE,KAAKE,GAAGx/B,EAAEjB,EAAEG,GAAOqgC,GAAG9yC,EAAE,QAAT6yC,GAAEngC,KAAkBogC,IAAIv/B,EAAEs/B,GAAEpgC,EAAEA,EAAE8O,UAAU,IAAIhO,EAAEnQ,SAASmQ,EAAEjJ,WAAWC,YAAYkI,GAAGc,EAAEhJ,YAAYkI,IAAIogC,GAAEtoC,YAAYkI,EAAE8O,YAAY,MAAM,KAAK,GAAG,OAAOsxB,KAAIC,IAAIv/B,EAAEs/B,GAAEpgC,EAAEA,EAAE8O,UAAU,IAAIhO,EAAEnQ,SAAS04B,GAAGvoB,EAAEjJ,WAAWmI,GAAG,IAAIc,EAAEnQ,UAAU04B,GAAGvoB,EAAEd,GAAGsW,GAAGxV,IAAIuoB,GAAG+W,GAAEpgC,EAAE8O,YAAY,MAAM,KAAK,EAAE7O,EAAEmgC,GAAE7yC,EAAE8yC,GAAGD,GAAEpgC,EAAE8O,UAAUgH,cAAcuqB,IAAG,EAClfC,GAAGx/B,EAAEjB,EAAEG,GAAGogC,GAAEngC,EAAEogC,GAAG9yC,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI4xC,KAAoB,QAAhBl/B,EAAED,EAAEqvB,cAAsC,QAAfpvB,EAAEA,EAAE42B,aAAsB,CAACtpC,EAAE0S,EAAEA,EAAE4uB,KAAK,EAAE,CAAC,IAAIrhC,EAAED,EAAE2S,EAAE1S,EAAE2pC,QAAQ3pC,EAAEA,EAAEoP,SAAI,IAASsD,IAAI,KAAO,EAAF1S,IAAe,KAAO,EAAFA,KAAfiyC,GAAGz/B,EAAEH,EAAEK,GAAyB3S,EAAEA,EAAEshC,IAAI,OAAOthC,IAAI0S,EAAE,CAACqgC,GAAGx/B,EAAEjB,EAAEG,GAAG,MAAM,KAAK,EAAE,IAAIm/B,KAAII,GAAGv/B,EAAEH,GAAiB,oBAAdI,EAAED,EAAE8O,WAAgC2xB,sBAAsB,IAAIxgC,EAAE+xB,MAAMhyB,EAAEstB,cAAcrtB,EAAEyxB,MAAM1xB,EAAEwQ,cAAcvQ,EAAEwgC,sBAAsB,CAAC,MAAMtgC,GAAGq/B,GAAEx/B,EAAEH,EAAEM,EAAE,CAACmgC,GAAGx/B,EAAEjB,EAAEG,GAAG,MAAM,KAAK,GAAGsgC,GAAGx/B,EAAEjB,EAAEG,GAAG,MAAM,KAAK,GAAU,EAAPA,EAAEktB,MAAQiS,IAAGl/B,EAAEk/B,KAAI,OAChfn/B,EAAEwQ,cAAc8vB,GAAGx/B,EAAEjB,EAAEG,GAAGm/B,GAAEl/B,GAAGqgC,GAAGx/B,EAAEjB,EAAEG,GAAG,MAAM,QAAQsgC,GAAGx/B,EAAEjB,EAAEG,GAAG,CAAC,SAAS0gC,GAAG5/B,GAAG,IAAIjB,EAAEiB,EAAEuuB,YAAY,GAAG,OAAOxvB,EAAE,CAACiB,EAAEuuB,YAAY,KAAK,IAAIrvB,EAAEc,EAAEgO,UAAU,OAAO9O,IAAIA,EAAEc,EAAEgO,UAAU,IAAIswB,IAAIv/B,EAAE3V,SAAQ,SAAS2V,GAAG,IAAII,EAAE0gC,GAAG7Z,KAAK,KAAKhmB,EAAEjB,GAAGG,EAAEwmB,IAAI3mB,KAAKG,EAAEkD,IAAIrD,GAAGA,EAAEqpB,KAAKjpB,EAAEA,GAAG,GAAE,CAAC,CACzQ,SAAS2gC,GAAG9/B,EAAEjB,GAAG,IAAIG,EAAEH,EAAE8sB,UAAU,GAAG,OAAO3sB,EAAE,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAElU,OAAOmU,IAAI,CAAC,IAAI1S,EAAEyS,EAAEC,GAAG,IAAI,IAAIzS,EAAEsT,EAAEZ,EAAEL,EAAEM,EAAED,EAAEY,EAAE,KAAK,OAAOX,GAAG,CAAC,OAAOA,EAAEvD,KAAK,KAAK,EAAEwjC,GAAEjgC,EAAE2O,UAAUuxB,IAAG,EAAG,MAAMv/B,EAAE,KAAK,EAA4C,KAAK,EAAEs/B,GAAEjgC,EAAE2O,UAAUgH,cAAcuqB,IAAG,EAAG,MAAMv/B,EAAEX,EAAEA,EAAEkQ,MAAM,CAAC,GAAG,OAAO+vB,GAAE,MAAMn6B,MAAM3F,EAAE,MAAMigC,GAAG/yC,EAAE0S,EAAE3S,GAAG6yC,GAAE,KAAKC,IAAG,EAAG,IAAIjgC,EAAE7S,EAAE6iB,UAAU,OAAOhQ,IAAIA,EAAEiQ,OAAO,MAAM9iB,EAAE8iB,OAAO,IAAI,CAAC,MAAM/jB,GAAGkzC,GAAEjyC,EAAEsS,EAAEvT,EAAE,CAAC,CAAC,GAAkB,MAAfuT,EAAE29B,aAAmB,IAAI39B,EAAEA,EAAE+Q,MAAM,OAAO/Q,GAAGghC,GAAGhhC,EAAEiB,GAAGjB,EAAEA,EAAEgR,OAAO,CACje,SAASgwB,GAAG//B,EAAEjB,GAAG,IAAIG,EAAEc,EAAEsP,UAAUnQ,EAAEa,EAAEwP,MAAM,OAAOxP,EAAElE,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAiB,GAAdgkC,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAQ,EAAFb,EAAI,CAAC,IAAI0/B,GAAG,EAAE7+B,EAAEA,EAAEuP,QAAQuvB,GAAG,EAAE9+B,EAAE,CAAC,MAAML,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,IAAIk/B,GAAG,EAAE7+B,EAAEA,EAAEuP,OAAO,CAAC,MAAM5P,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,CAAC,MAAM,KAAK,EAAEmgC,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAK,IAAFb,GAAO,OAAOD,GAAGu/B,GAAGv/B,EAAEA,EAAEqQ,QAAQ,MAAM,KAAK,EAAgD,GAA9CuwB,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAK,IAAFb,GAAO,OAAOD,GAAGu/B,GAAGv/B,EAAEA,EAAEqQ,QAAmB,GAARvP,EAAEwP,MAAS,CAAC,IAAI/iB,EAAEuT,EAAEgO,UAAU,IAAIpF,GAAGnc,EAAE,GAAG,CAAC,MAAMkT,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,CAAC,GAAK,EAAFR,GAAoB,OAAd1S,EAAEuT,EAAEgO,WAAmB,CAAC,IAAIthB,EAAEsT,EAAEwsB,cAAcptB,EAAE,OAAOF,EAAEA,EAAEstB,cAAc9/B,EAAE2S,EAAEW,EAAE/C,KAAKqC,EAAEU,EAAEuuB,YACje,GAAnBvuB,EAAEuuB,YAAY,KAAQ,OAAOjvB,EAAE,IAAI,UAAUD,GAAG,UAAU3S,EAAEuQ,MAAM,MAAMvQ,EAAEyK,MAAMiQ,EAAG3a,EAAEC,GAAG0gB,GAAG/N,EAAED,GAAG,IAAI5T,EAAE4hB,GAAG/N,EAAE3S,GAAG,IAAI0S,EAAE,EAAEA,EAAEE,EAAEtU,OAAOoU,GAAG,EAAE,CAAC,IAAIG,EAAED,EAAEF,GAAGK,EAAEH,EAAEF,EAAE,GAAG,UAAUG,EAAEsM,GAAGpf,EAAEgT,GAAG,4BAA4BF,EAAEiJ,GAAG/b,EAAEgT,GAAG,aAAaF,EAAEqJ,GAAGnc,EAAEgT,GAAG8D,EAAG9W,EAAE8S,EAAEE,EAAEjU,EAAE,CAAC,OAAO6T,GAAG,IAAK,QAAQgI,EAAG5a,EAAEC,GAAG,MAAM,IAAK,WAAWyb,GAAG1b,EAAEC,GAAG,MAAM,IAAK,SAAS,IAAIgT,EAAEjT,EAAEsa,cAAcy2B,YAAY/wC,EAAEsa,cAAcy2B,cAAc9wC,EAAE+wC,SAAS,IAAI39B,EAAEpT,EAAEJ,MAAM,MAAMwT,EAAE4H,GAAGjb,IAAIC,EAAE+wC,SAAS39B,GAAE,GAAIJ,MAAMhT,EAAE+wC,WAAW,MAAM/wC,EAAEoa,aAAaY,GAAGjb,IAAIC,EAAE+wC,SACnf/wC,EAAEoa,cAAa,GAAIY,GAAGjb,IAAIC,EAAE+wC,SAAS/wC,EAAE+wC,SAAS,GAAG,IAAG,IAAKhxC,EAAEo8B,IAAIn8B,CAAC,CAAC,MAAMiT,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdmgC,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAQ,EAAFb,EAAI,CAAC,GAAG,OAAOa,EAAEgO,UAAU,MAAM7I,MAAM3F,EAAE,MAAM/S,EAAEuT,EAAEgO,UAAUthB,EAAEsT,EAAEwsB,cAAc,IAAI//B,EAAEqc,UAAUpc,CAAC,CAAC,MAAMiT,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,CAAC,MAAM,KAAK,EAAgB,GAAdmgC,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAQ,EAAFb,GAAK,OAAOD,GAAGA,EAAEwQ,cAAcqF,aAAa,IAAIS,GAAGzW,EAAEiW,cAAc,CAAC,MAAMrV,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,MAAM,KAAK,EAG4G,QAAQmgC,GAAG/gC,EACnfiB,GAAGggC,GAAGhgC,SAJ4Y,KAAK,GAAG8/B,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAqB,MAAlBvT,EAAEuT,EAAE8P,OAAQN,QAAa9iB,EAAE,OAAOD,EAAEijB,cAAcjjB,EAAEuhB,UAAUiyB,SAASvzC,GAAGA,GAClf,OAAOD,EAAE6iB,WAAW,OAAO7iB,EAAE6iB,UAAUI,gBAAgBwwB,GAAGvvB,OAAQ,EAAFxR,GAAKygC,GAAG5/B,GAAG,MAAM,KAAK,GAAsF,GAAnFT,EAAE,OAAOL,GAAG,OAAOA,EAAEwQ,cAAqB,EAAP1P,EAAEosB,MAAQiS,IAAG7yC,EAAE6yC,KAAI9+B,EAAEugC,GAAG/gC,EAAEiB,GAAGq+B,GAAE7yC,GAAGs0C,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAQ,KAAFb,EAAO,CAA0B,GAAzB3T,EAAE,OAAOwU,EAAE0P,eAAkB1P,EAAEgO,UAAUiyB,SAASz0C,KAAK+T,GAAG,KAAY,EAAPS,EAAEosB,MAAQ,IAAIoS,GAAEx+B,EAAET,EAAES,EAAE8P,MAAM,OAAOvQ,GAAG,CAAC,IAAIE,EAAE++B,GAAEj/B,EAAE,OAAOi/B,IAAG,CAAe,OAAV1+B,GAAJJ,EAAE8+B,IAAM1uB,MAAapQ,EAAE5D,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG+iC,GAAG,EAAEn/B,EAAEA,EAAE6P,QAAQ,MAAM,KAAK,EAAEkvB,GAAG/+B,EAAEA,EAAE6P,QAAQ,IAAIrjB,EAAEwT,EAAEsO,UAAU,GAAG,oBAAoB9hB,EAAEyzC,qBAAqB,CAACxgC,EAAEO,EAAER,EAAEQ,EAAE6P,OAAO,IAAIxQ,EAAEI,EAAEjT,EAAEglC,MACpfnyB,EAAEytB,cAActgC,EAAE0kC,MAAM7xB,EAAE2Q,cAAcxjB,EAAEyzC,sBAAsB,CAAC,MAAMhgC,GAAG++B,GAAEv/B,EAAED,EAAES,EAAE,CAAC,CAAC,MAAM,KAAK,EAAE8+B,GAAG/+B,EAAEA,EAAE6P,QAAQ,MAAM,KAAK,GAAG,GAAG,OAAO7P,EAAEgQ,cAAc,CAACywB,GAAG1gC,GAAG,QAAQ,EAAE,OAAOK,GAAGA,EAAEyP,OAAO7P,EAAE8+B,GAAE1+B,GAAGqgC,GAAG1gC,EAAE,CAACF,EAAEA,EAAEwQ,OAAO,CAAC/P,EAAE,IAAIT,EAAE,KAAKE,EAAEO,IAAI,CAAC,GAAG,IAAIP,EAAE3D,KAAK,GAAG,OAAOyD,EAAE,CAACA,EAAEE,EAAE,IAAIhT,EAAEgT,EAAEuO,UAAUxiB,EAAa,oBAAVkB,EAAED,EAAEqf,OAA4BC,YAAYrf,EAAEqf,YAAY,UAAU,OAAO,aAAarf,EAAE0zC,QAAQ,QAAS/gC,EAAEI,EAAEuO,UAAkC5O,OAAE,KAA1BE,EAAEG,EAAE+sB,cAAc1gB,QAAoB,OAAOxM,GAAGA,EAAEiD,eAAe,WAAWjD,EAAE8gC,QAAQ,KAAK/gC,EAAEyM,MAAMs0B,QACzfx0B,GAAG,UAAUxM,GAAG,CAAC,MAAMO,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,CAAC,OAAO,GAAG,IAAIF,EAAE3D,KAAK,GAAG,OAAOyD,EAAE,IAAIE,EAAEuO,UAAUlF,UAAUtd,EAAE,GAAGiU,EAAE+sB,aAAa,CAAC,MAAM7sB,GAAG++B,GAAE1+B,EAAEA,EAAEuP,OAAO5P,EAAE,OAAO,IAAI,KAAKF,EAAE3D,KAAK,KAAK2D,EAAE3D,KAAK,OAAO2D,EAAEiQ,eAAejQ,IAAIO,IAAI,OAAOP,EAAEqQ,MAAM,CAACrQ,EAAEqQ,MAAMP,OAAO9P,EAAEA,EAAEA,EAAEqQ,MAAM,QAAQ,CAAC,GAAGrQ,IAAIO,EAAE,MAAMA,EAAE,KAAK,OAAOP,EAAEsQ,SAAS,CAAC,GAAG,OAAOtQ,EAAE8P,QAAQ9P,EAAE8P,SAASvP,EAAE,MAAMA,EAAET,IAAIE,IAAIF,EAAE,MAAME,EAAEA,EAAE8P,MAAM,CAAChQ,IAAIE,IAAIF,EAAE,MAAME,EAAEsQ,QAAQR,OAAO9P,EAAE8P,OAAO9P,EAAEA,EAAEsQ,OAAO,CAAC,CAAC,MAAM,KAAK,GAAG+vB,GAAG/gC,EAAEiB,GAAGggC,GAAGhgC,GAAK,EAAFb,GAAKygC,GAAG5/B,GAAS,KAAK,IACtd,CAAC,SAASggC,GAAGhgC,GAAG,IAAIjB,EAAEiB,EAAEwP,MAAM,GAAK,EAAFzQ,EAAI,CAAC,IAAIiB,EAAE,CAAC,IAAI,IAAId,EAAEc,EAAEuP,OAAO,OAAOrQ,GAAG,CAAC,GAAG+/B,GAAG//B,GAAG,CAAC,IAAIC,EAAED,EAAE,MAAMc,CAAC,CAACd,EAAEA,EAAEqQ,MAAM,CAAC,MAAMpK,MAAM3F,EAAE,KAAM,CAAC,OAAOL,EAAErD,KAAK,KAAK,EAAE,IAAIrP,EAAE0S,EAAE6O,UAAkB,GAAR7O,EAAEqQ,QAAW5G,GAAGnc,EAAE,IAAI0S,EAAEqQ,QAAQ,IAAgB6vB,GAAGr/B,EAATk/B,GAAGl/B,GAAUvT,GAAG,MAAM,KAAK,EAAE,KAAK,EAAE,IAAI2S,EAAED,EAAE6O,UAAUgH,cAAsBmqB,GAAGn/B,EAATk/B,GAAGl/B,GAAUZ,GAAG,MAAM,QAAQ,MAAM+F,MAAM3F,EAAE,MAAO,CAAC,MAAMF,GAAGo/B,GAAE1+B,EAAEA,EAAEuP,OAAOjQ,EAAE,CAACU,EAAEwP,QAAQ,CAAC,CAAG,KAAFzQ,IAASiB,EAAEwP,QAAQ,KAAK,CAAC,SAAS6wB,GAAGrgC,EAAEjB,EAAEG,GAAGs/B,GAAEx+B,EAAEsgC,GAAGtgC,EAAEjB,EAAEG,EAAE,CACvb,SAASohC,GAAGtgC,EAAEjB,EAAEG,GAAG,IAAI,IAAIC,EAAE,KAAY,EAAPa,EAAEosB,MAAQ,OAAOoS,IAAG,CAAC,IAAI/xC,EAAE+xC,GAAE9xC,EAAED,EAAEqjB,MAAM,GAAG,KAAKrjB,EAAEqP,KAAKqD,EAAE,CAAC,IAAIC,EAAE,OAAO3S,EAAEijB,eAAe0uB,GAAG,IAAIh/B,EAAE,CAAC,IAAIC,EAAE5S,EAAE6iB,UAAUhQ,EAAE,OAAOD,GAAG,OAAOA,EAAEqQ,eAAe2uB,GAAEh/B,EAAE++B,GAAG,IAAI5yC,EAAE6yC,GAAO,GAALD,GAAGh/B,GAAMi/B,GAAE/+B,KAAK9T,EAAE,IAAIgzC,GAAE/xC,EAAE,OAAO+xC,IAAOl/B,GAAJF,EAAEo/B,IAAM1uB,MAAM,KAAK1Q,EAAEtD,KAAK,OAAOsD,EAAEsQ,cAAc6wB,GAAG9zC,GAAG,OAAO6S,GAAGA,EAAEiQ,OAAOnQ,EAAEo/B,GAAEl/B,GAAGihC,GAAG9zC,GAAG,KAAK,OAAOC,GAAG8xC,GAAE9xC,EAAE4zC,GAAG5zC,EAAEqS,EAAEG,GAAGxS,EAAEA,EAAEqjB,QAAQyuB,GAAE/xC,EAAE2xC,GAAG/+B,EAAEg/B,GAAE7yC,CAAC,CAACg1C,GAAGxgC,EAAM,MAAM,KAAoB,KAAfvT,EAAEiwC,eAAoB,OAAOhwC,GAAGA,EAAE6iB,OAAO9iB,EAAE+xC,GAAE9xC,GAAG8zC,GAAGxgC,EAAM,CAAC,CACvc,SAASwgC,GAAGxgC,GAAG,KAAK,OAAOw+B,IAAG,CAAC,IAAIz/B,EAAEy/B,GAAE,GAAG,KAAa,KAARz/B,EAAEyQ,OAAY,CAAC,IAAItQ,EAAEH,EAAEuQ,UAAU,IAAI,GAAG,KAAa,KAARvQ,EAAEyQ,OAAY,OAAOzQ,EAAEjD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGuiC,IAAGS,GAAG,EAAE//B,GAAG,MAAM,KAAK,EAAE,IAAII,EAAEJ,EAAEiP,UAAU,GAAW,EAARjP,EAAEyQ,QAAU6uB,GAAE,GAAG,OAAOn/B,EAAEC,EAAEmyB,wBAAwB,CAAC,IAAI7kC,EAAEsS,EAAE6sB,cAAc7sB,EAAE9B,KAAKiC,EAAEstB,cAAcK,GAAG9tB,EAAE9B,KAAKiC,EAAEstB,eAAertB,EAAEi8B,mBAAmB3uC,EAAEyS,EAAEwQ,cAAcvQ,EAAEshC,oCAAoC,CAAC,IAAI/zC,EAAEqS,EAAEwvB,YAAY,OAAO7hC,GAAGgjC,GAAG3wB,EAAErS,EAAEyS,GAAG,MAAM,KAAK,EAAE,IAAIC,EAAEL,EAAEwvB,YAAY,GAAG,OAAOnvB,EAAE,CAAQ,GAAPF,EAAE,KAAQ,OAAOH,EAAE+Q,MAAM,OAAO/Q,EAAE+Q,MAAMhU,KAAK,KAAK,EACvf,KAAK,EAAEoD,EAAEH,EAAE+Q,MAAM9B,UAAU0hB,GAAG3wB,EAAEK,EAAEF,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIG,EAAEN,EAAEiP,UAAU,GAAG,OAAO9O,GAAW,EAARH,EAAEyQ,MAAQ,CAACtQ,EAAEG,EAAE,IAAIC,EAAEP,EAAEytB,cAAc,OAAOztB,EAAE9B,MAAM,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAWqC,EAAEy+B,WAAW7+B,EAAEskB,QAAQ,MAAM,IAAK,MAAMlkB,EAAEohC,MAAMxhC,EAAEwhC,IAAIphC,EAAEohC,KAAK,CAAC,MAAM,KAAK,EAAQ,KAAK,EAAQ,KAAK,GAAyJ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAhM,KAAK,GAAG,GAAG,OAAO3hC,EAAE2Q,cAAc,CAAC,IAAIlkB,EAAEuT,EAAEuQ,UAAU,GAAG,OAAO9jB,EAAE,CAAC,IAAI+T,EAAE/T,EAAEkkB,cAAc,GAAG,OAAOnQ,EAAE,CAAC,IAAIE,EAAEF,EAAEoQ,WAAW,OAAOlQ,GAAG+V,GAAG/V,EAAE,CAAC,CAAC,CAAC,MAC5c,QAAQ,MAAM0F,MAAM3F,EAAE,MAAO6+B,IAAW,IAARt/B,EAAEyQ,OAAWuvB,GAAGhgC,EAAE,CAAC,MAAMW,GAAGg/B,GAAE3/B,EAAEA,EAAEwQ,OAAO7P,EAAE,CAAC,CAAC,GAAGX,IAAIiB,EAAE,CAACw+B,GAAE,KAAK,KAAK,CAAa,GAAG,QAAft/B,EAAEH,EAAEgR,SAAoB,CAAC7Q,EAAEqQ,OAAOxQ,EAAEwQ,OAAOivB,GAAEt/B,EAAE,KAAK,CAACs/B,GAAEz/B,EAAEwQ,MAAM,CAAC,CAAC,SAAS4wB,GAAGngC,GAAG,KAAK,OAAOw+B,IAAG,CAAC,IAAIz/B,EAAEy/B,GAAE,GAAGz/B,IAAIiB,EAAE,CAACw+B,GAAE,KAAK,KAAK,CAAC,IAAIt/B,EAAEH,EAAEgR,QAAQ,GAAG,OAAO7Q,EAAE,CAACA,EAAEqQ,OAAOxQ,EAAEwQ,OAAOivB,GAAEt/B,EAAE,KAAK,CAACs/B,GAAEz/B,EAAEwQ,MAAM,CAAC,CACvS,SAASgxB,GAAGvgC,GAAG,KAAK,OAAOw+B,IAAG,CAAC,IAAIz/B,EAAEy/B,GAAE,IAAI,OAAOz/B,EAAEjD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAIoD,EAAEH,EAAEwQ,OAAO,IAAIuvB,GAAG,EAAE//B,EAAE,CAAC,MAAMO,GAAGo/B,GAAE3/B,EAAEG,EAAEI,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIH,EAAEJ,EAAEiP,UAAU,GAAG,oBAAoB7O,EAAEmyB,kBAAkB,CAAC,IAAI7kC,EAAEsS,EAAEwQ,OAAO,IAAIpQ,EAAEmyB,mBAAmB,CAAC,MAAMhyB,GAAGo/B,GAAE3/B,EAAEtS,EAAE6S,EAAE,CAAC,CAAC,IAAI5S,EAAEqS,EAAEwQ,OAAO,IAAIwvB,GAAGhgC,EAAE,CAAC,MAAMO,GAAGo/B,GAAE3/B,EAAErS,EAAE4S,EAAE,CAAC,MAAM,KAAK,EAAE,IAAIF,EAAEL,EAAEwQ,OAAO,IAAIwvB,GAAGhgC,EAAE,CAAC,MAAMO,GAAGo/B,GAAE3/B,EAAEK,EAAEE,EAAE,EAAE,CAAC,MAAMA,GAAGo/B,GAAE3/B,EAAEA,EAAEwQ,OAAOjQ,EAAE,CAAC,GAAGP,IAAIiB,EAAE,CAACw+B,GAAE,KAAK,KAAK,CAAC,IAAIn/B,EAAEN,EAAEgR,QAAQ,GAAG,OAAO1Q,EAAE,CAACA,EAAEkQ,OAAOxQ,EAAEwQ,OAAOivB,GAAEn/B,EAAE,KAAK,CAACm/B,GAAEz/B,EAAEwQ,MAAM,CAAC,CAC7d,IAwBkNoxB,GAxB9MC,GAAGhvB,KAAKivB,KAAKC,GAAGh9B,EAAGyvB,uBAAuBwN,GAAGj9B,EAAGm2B,kBAAkB+G,GAAGl9B,EAAG4R,wBAAwB2Z,GAAE,EAAEwG,GAAE,KAAKoL,GAAE,KAAKC,GAAE,EAAEpG,GAAG,EAAED,GAAG3R,GAAG,GAAG8U,GAAE,EAAEmD,GAAG,KAAK1R,GAAG,EAAE2R,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,GAAG,KAAKrB,GAAG,EAAEjC,GAAGuD,IAASC,GAAG,KAAKpI,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKiI,IAAG,EAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAE,SAAS7R,KAAI,OAAO,KAAO,EAAFd,IAAK1e,MAAK,IAAIoxB,GAAGA,GAAGA,GAAGpxB,IAAG,CAChU,SAASyf,GAAGpwB,GAAG,OAAG,KAAY,EAAPA,EAAEosB,MAAe,EAAK,KAAO,EAAFiD,KAAM,IAAI6R,GAASA,IAAGA,GAAK,OAAOtU,GAAG/W,YAAkB,IAAImsB,KAAKA,GAAGnvB,MAAMmvB,IAAU,KAAPhiC,EAAEkT,IAAkBlT,EAAiBA,OAAE,KAAjBA,EAAEzR,OAAOmxB,OAAmB,GAAGtJ,GAAGpW,EAAE/C,KAAc,CAAC,SAASozB,GAAGrwB,EAAEjB,EAAEG,EAAEC,GAAG,GAAG,GAAG0iC,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAK38B,MAAM3F,EAAE,MAAMuT,GAAG/S,EAAEd,EAAEC,GAAM,KAAO,EAAFkwB,KAAMrvB,IAAI61B,KAAE71B,IAAI61B,KAAI,KAAO,EAAFxG,MAAO+R,IAAIliC,GAAG,IAAI8+B,IAAGiE,GAAGjiC,EAAEkhC,KAAIgB,GAAGliC,EAAEb,GAAG,IAAID,GAAG,IAAImwB,IAAG,KAAY,EAAPtwB,EAAEqtB,QAAU6R,GAAGttB,KAAI,IAAI0Z,IAAIG,MAAK,CAC1Y,SAAS0X,GAAGliC,EAAEjB,GAAG,IAAIG,EAAEc,EAAEmiC,cA5MzB,SAAYniC,EAAEjB,GAAG,IAAI,IAAIG,EAAEc,EAAEuS,eAAepT,EAAEa,EAAEwS,YAAY/lB,EAAEuT,EAAEoiC,gBAAgB11C,EAAEsT,EAAEsS,aAAa,EAAE5lB,GAAG,CAAC,IAAI0S,EAAE,GAAGuS,GAAGjlB,GAAG2S,EAAE,GAAGD,EAAEE,EAAE7S,EAAE2S,IAAO,IAAIE,EAAM,KAAKD,EAAEH,IAAI,KAAKG,EAAEF,KAAG1S,EAAE2S,GAAGuT,GAAGtT,EAAEN,IAAQO,GAAGP,IAAIiB,EAAEqiC,cAAchjC,GAAG3S,IAAI2S,CAAC,CAAC,CA4MnLijC,CAAGtiC,EAAEjB,GAAG,IAAII,EAAEkT,GAAGrS,EAAEA,IAAI61B,GAAEqL,GAAE,GAAG,GAAG,IAAI/hC,EAAE,OAAOD,GAAGmR,GAAGnR,GAAGc,EAAEmiC,aAAa,KAAKniC,EAAEuiC,iBAAiB,OAAO,GAAGxjC,EAAEI,GAAGA,EAAEa,EAAEuiC,mBAAmBxjC,EAAE,CAAgB,GAAf,MAAMG,GAAGmR,GAAGnR,GAAM,IAAIH,EAAE,IAAIiB,EAAElE,IA7IsJ,SAAYkE,GAAGqqB,IAAG,EAAGE,GAAGvqB,EAAE,CA6I5KwiC,CAAGC,GAAGzc,KAAK,KAAKhmB,IAAIuqB,GAAGkY,GAAGzc,KAAK,KAAKhmB,IAAIioB,IAAG,WAAW,KAAO,EAAFoH,KAAM7E,IAAI,IAAGtrB,EAAE,SAAS,CAAC,OAAOiU,GAAGhU,IAAI,KAAK,EAAED,EAAE6R,GAAG,MAAM,KAAK,EAAE7R,EAAE+R,GAAG,MAAM,KAAK,GAAwC,QAAQ/R,EAAEiS,SAApC,KAAK,UAAUjS,EAAEqS,GAAsBrS,EAAEwjC,GAAGxjC,EAAEyjC,GAAG3c,KAAK,KAAKhmB,GAAG,CAACA,EAAEuiC,iBAAiBxjC,EAAEiB,EAAEmiC,aAAajjC,CAAC,CAAC,CAC7c,SAASyjC,GAAG3iC,EAAEjB,GAAc,GAAXgjC,IAAI,EAAEC,GAAG,EAAK,KAAO,EAAF3S,IAAK,MAAMlqB,MAAM3F,EAAE,MAAM,IAAIN,EAAEc,EAAEmiC,aAAa,GAAGS,MAAM5iC,EAAEmiC,eAAejjC,EAAE,OAAO,KAAK,IAAIC,EAAEkT,GAAGrS,EAAEA,IAAI61B,GAAEqL,GAAE,GAAG,GAAG,IAAI/hC,EAAE,OAAO,KAAK,GAAG,KAAO,GAAFA,IAAO,KAAKA,EAAEa,EAAEqiC,eAAetjC,EAAEA,EAAE8jC,GAAG7iC,EAAEb,OAAO,CAACJ,EAAEI,EAAE,IAAI1S,EAAE4iC,GAAEA,IAAG,EAAE,IAAI3iC,EAAEo2C,KAAgD,IAAxCjN,KAAI71B,GAAGkhC,KAAIniC,IAAE0iC,GAAG,KAAKxD,GAAGttB,KAAI,IAAIoyB,GAAG/iC,EAAEjB,UAAUikC,KAAK,KAAK,CAAC,MAAM3jC,GAAG4jC,GAAGjjC,EAAEX,EAAE,CAAU6tB,KAAK4T,GAAG9wB,QAAQtjB,EAAE2iC,GAAE5iC,EAAE,OAAOw0C,GAAEliC,EAAE,GAAG82B,GAAE,KAAKqL,GAAE,EAAEniC,EAAEi/B,GAAE,CAAC,GAAG,IAAIj/B,EAAE,CAAyC,GAAxC,IAAIA,IAAY,KAARtS,EAAEmmB,GAAG5S,MAAWb,EAAE1S,EAAEsS,EAAEmkC,GAAGljC,EAAEvT,KAAQ,IAAIsS,EAAE,MAAMG,EAAEiiC,GAAG4B,GAAG/iC,EAAE,GAAGiiC,GAAGjiC,EAAEb,GAAG+iC,GAAGliC,EAAE2Q,MAAKzR,EAAE,GAAG,IAAIH,EAAEkjC,GAAGjiC,EAAEb,OAChf,CAAuB,GAAtB1S,EAAEuT,EAAEgQ,QAAQV,UAAa,KAAO,GAAFnQ,KAGnC,SAAYa,GAAG,IAAI,IAAIjB,EAAEiB,IAAI,CAAC,GAAW,MAARjB,EAAEyQ,MAAY,CAAC,IAAItQ,EAAEH,EAAEwvB,YAAY,GAAG,OAAOrvB,GAAe,QAAXA,EAAEA,EAAE82B,QAAiB,IAAI,IAAI72B,EAAE,EAAEA,EAAED,EAAElU,OAAOmU,IAAI,CAAC,IAAI1S,EAAEyS,EAAEC,GAAGzS,EAAED,EAAEipC,YAAYjpC,EAAEA,EAAEH,MAAM,IAAI,IAAI00B,GAAGt0B,IAAID,GAAG,OAAM,CAAE,CAAC,MAAM2S,GAAG,OAAM,CAAE,CAAC,CAAC,CAAW,GAAVF,EAAEH,EAAE+Q,MAAwB,MAAf/Q,EAAE29B,cAAoB,OAAOx9B,EAAEA,EAAEqQ,OAAOxQ,EAAEA,EAAEG,MAAM,CAAC,GAAGH,IAAIiB,EAAE,MAAM,KAAK,OAAOjB,EAAEgR,SAAS,CAAC,GAAG,OAAOhR,EAAEwQ,QAAQxQ,EAAEwQ,SAASvP,EAAE,OAAM,EAAGjB,EAAEA,EAAEwQ,MAAM,CAACxQ,EAAEgR,QAAQR,OAAOxQ,EAAEwQ,OAAOxQ,EAAEA,EAAEgR,OAAO,CAAC,CAAC,OAAM,CAAE,CAHvXozB,CAAG12C,KAAe,KAAVsS,EAAE8jC,GAAG7iC,EAAEb,MAAmB,KAARzS,EAAEkmB,GAAG5S,MAAWb,EAAEzS,EAAEqS,EAAEmkC,GAAGljC,EAAEtT,KAAK,IAAIqS,GAAG,MAAMG,EAAEiiC,GAAG4B,GAAG/iC,EAAE,GAAGiiC,GAAGjiC,EAAEb,GAAG+iC,GAAGliC,EAAE2Q,MAAKzR,EAAqC,OAAnCc,EAAEojC,aAAa32C,EAAEuT,EAAEqjC,cAAclkC,EAASJ,GAAG,KAAK,EAAE,KAAK,EAAE,MAAMoG,MAAM3F,EAAE,MAAM,KAAK,EAC8B,KAAK,EAAE8jC,GAAGtjC,EAAEuhC,GAAGE,IAAI,MAD7B,KAAK,EAAU,GAARQ,GAAGjiC,EAAEb,IAAS,UAAFA,KAAeA,GAAiB,IAAbJ,EAAEmhC,GAAG,IAAIvvB,MAAU,CAAC,GAAG,IAAI0B,GAAGrS,EAAE,GAAG,MAAyB,KAAnBvT,EAAEuT,EAAEuS,gBAAqBpT,KAAKA,EAAE,CAACgxB,KAAInwB,EAAEwS,aAAaxS,EAAEuS,eAAe9lB,EAAE,KAAK,CAACuT,EAAEujC,cAAc5b,GAAG2b,GAAGtd,KAAK,KAAKhmB,EAAEuhC,GAAGE,IAAI1iC,GAAG,KAAK,CAACukC,GAAGtjC,EAAEuhC,GAAGE,IAAI,MAAM,KAAK,EAAU,GAARQ,GAAGjiC,EAAEb,IAAS,QAAFA,KAC9eA,EAAE,MAAqB,IAAfJ,EAAEiB,EAAEgT,WAAevmB,GAAG,EAAE,EAAE0S,GAAG,CAAC,IAAIC,EAAE,GAAGuS,GAAGxS,GAAGzS,EAAE,GAAG0S,GAAEA,EAAEL,EAAEK,IAAK3S,IAAIA,EAAE2S,GAAGD,IAAIzS,CAAC,CAAqG,GAApGyS,EAAE1S,EAAqG,IAA3F0S,GAAG,KAAXA,EAAEwR,KAAIxR,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKyhC,GAAGzhC,EAAE,OAAOA,GAAU,CAACa,EAAEujC,cAAc5b,GAAG2b,GAAGtd,KAAK,KAAKhmB,EAAEuhC,GAAGE,IAAItiC,GAAG,KAAK,CAACmkC,GAAGtjC,EAAEuhC,GAAGE,IAAI,MAA+B,QAAQ,MAAMt8B,MAAM3F,EAAE,MAAO,CAAC,CAAW,OAAV0iC,GAAGliC,EAAE2Q,MAAY3Q,EAAEmiC,eAAejjC,EAAEyjC,GAAG3c,KAAK,KAAKhmB,GAAG,IAAI,CACrX,SAASkjC,GAAGljC,EAAEjB,GAAG,IAAIG,EAAEoiC,GAA2G,OAAxGthC,EAAEgQ,QAAQN,cAAcqF,eAAeguB,GAAG/iC,EAAEjB,GAAGyQ,OAAO,KAAe,KAAVxP,EAAE6iC,GAAG7iC,EAAEjB,MAAWA,EAAEwiC,GAAGA,GAAGriC,EAAE,OAAOH,GAAGw+B,GAAGx+B,IAAWiB,CAAC,CAAC,SAASu9B,GAAGv9B,GAAG,OAAOuhC,GAAGA,GAAGvhC,EAAEuhC,GAAG/3C,KAAKjB,MAAMg5C,GAAGvhC,EAAE,CAE5L,SAASiiC,GAAGjiC,EAAEjB,GAAuD,IAApDA,IAAIsiC,GAAGtiC,IAAIqiC,GAAGphC,EAAEuS,gBAAgBxT,EAAEiB,EAAEwS,cAAczT,EAAMiB,EAAEA,EAAEoiC,gBAAgB,EAAErjC,GAAG,CAAC,IAAIG,EAAE,GAAGyS,GAAG5S,GAAGI,EAAE,GAAGD,EAAEc,EAAEd,IAAI,EAAEH,IAAII,CAAC,CAAC,CAAC,SAASsjC,GAAGziC,GAAG,GAAG,KAAO,EAAFqvB,IAAK,MAAMlqB,MAAM3F,EAAE,MAAMojC,KAAK,IAAI7jC,EAAEsT,GAAGrS,EAAE,GAAG,GAAG,KAAO,EAAFjB,GAAK,OAAOmjC,GAAGliC,EAAE2Q,MAAK,KAAK,IAAIzR,EAAE2jC,GAAG7iC,EAAEjB,GAAG,GAAG,IAAIiB,EAAElE,KAAK,IAAIoD,EAAE,CAAC,IAAIC,EAAEyT,GAAG5S,GAAG,IAAIb,IAAIJ,EAAEI,EAAED,EAAEgkC,GAAGljC,EAAEb,GAAG,CAAC,GAAG,IAAID,EAAE,MAAMA,EAAEiiC,GAAG4B,GAAG/iC,EAAE,GAAGiiC,GAAGjiC,EAAEjB,GAAGmjC,GAAGliC,EAAE2Q,MAAKzR,EAAE,GAAG,IAAIA,EAAE,MAAMiG,MAAM3F,EAAE,MAAiF,OAA3EQ,EAAEojC,aAAapjC,EAAEgQ,QAAQV,UAAUtP,EAAEqjC,cAActkC,EAAEukC,GAAGtjC,EAAEuhC,GAAGE,IAAIS,GAAGliC,EAAE2Q,MAAY,IAAI,CACvd,SAAS6yB,GAAGxjC,EAAEjB,GAAG,IAAIG,EAAEmwB,GAAEA,IAAG,EAAE,IAAI,OAAOrvB,EAAEjB,EAAE,CAAC,QAAY,KAAJswB,GAAEnwB,KAAU++B,GAAGttB,KAAI,IAAI0Z,IAAIG,KAAK,CAAC,CAAC,SAASiZ,GAAGzjC,GAAG,OAAO2hC,IAAI,IAAIA,GAAG7lC,KAAK,KAAO,EAAFuzB,KAAMuT,KAAK,IAAI7jC,EAAEswB,GAAEA,IAAG,EAAE,IAAInwB,EAAE8hC,GAAGnrB,WAAW1W,EAAE+T,GAAE,IAAI,GAAG8tB,GAAGnrB,WAAW,KAAK3C,GAAE,EAAElT,EAAE,OAAOA,GAAG,CAAC,QAAQkT,GAAE/T,EAAE6hC,GAAGnrB,WAAW3W,EAAM,KAAO,GAAXmwB,GAAEtwB,KAAayrB,IAAI,CAAC,CAAC,SAAS0T,KAAKpD,GAAGD,GAAG7qB,QAAQmZ,GAAE0R,GAAG,CAChT,SAASkI,GAAG/iC,EAAEjB,GAAGiB,EAAEojC,aAAa,KAAKpjC,EAAEqjC,cAAc,EAAE,IAAInkC,EAAEc,EAAEujC,cAAiD,IAAlC,IAAIrkC,IAAIc,EAAEujC,eAAe,EAAE1b,GAAG3oB,IAAO,OAAO+hC,GAAE,IAAI/hC,EAAE+hC,GAAE1xB,OAAO,OAAOrQ,GAAG,CAAC,IAAIC,EAAED,EAAQ,OAANmsB,GAAGlsB,GAAUA,EAAErD,KAAK,KAAK,EAA6B,QAA3BqD,EAAEA,EAAElC,KAAKV,yBAA4B,IAAS4C,GAAG0qB,KAAK,MAAM,KAAK,EAAEgJ,KAAK1J,GAAEI,IAAIJ,GAAEG,IAAG8J,KAAK,MAAM,KAAK,EAAEL,GAAG5zB,GAAG,MAAM,KAAK,EAAE0zB,KAAK,MAAM,KAAK,GAAc,KAAK,GAAG1J,GAAE6J,IAAG,MAAM,KAAK,GAAG7F,GAAGhuB,EAAElC,KAAK0I,UAAU,MAAM,KAAK,GAAG,KAAK,GAAGu4B,KAAKh/B,EAAEA,EAAEqQ,MAAM,CAAqE,GAApEsmB,GAAE71B,EAAEihC,GAAEjhC,EAAEgyB,GAAGhyB,EAAEgQ,QAAQ,MAAMkxB,GAAEpG,GAAG/7B,EAAEi/B,GAAE,EAAEmD,GAAG,KAAKE,GAAGD,GAAG3R,GAAG,EAAE8R,GAAGD,GAAG,KAAQ,OAAOtT,GAAG,CAAC,IAAIjvB,EAC1f,EAAEA,EAAEivB,GAAGhjC,OAAO+T,IAAI,GAA2B,QAAhBI,GAARD,EAAE8uB,GAAGjvB,IAAOovB,aAAqB,CAACjvB,EAAEivB,YAAY,KAAK,IAAI1hC,EAAE0S,EAAE4uB,KAAKrhC,EAAEwS,EAAE0vB,QAAQ,GAAG,OAAOliC,EAAE,CAAC,IAAI0S,EAAE1S,EAAEqhC,KAAKrhC,EAAEqhC,KAAKthC,EAAE0S,EAAE4uB,KAAK3uB,CAAC,CAACF,EAAE0vB,QAAQzvB,CAAC,CAAC6uB,GAAG,IAAI,CAAC,OAAOhuB,CAAC,CAC3K,SAASijC,GAAGjjC,EAAEjB,GAAG,OAAE,CAAC,IAAIG,EAAE+hC,GAAE,IAAuB,GAAnB/T,KAAKoG,GAAGtjB,QAAQukB,GAAMV,GAAG,CAAC,IAAI,IAAI10B,EAAEu0B,GAAEhkB,cAAc,OAAOvQ,GAAG,CAAC,IAAI1S,EAAE0S,EAAEw1B,MAAM,OAAOloC,IAAIA,EAAEmiC,QAAQ,MAAMzvB,EAAEA,EAAE4uB,IAAI,CAAC8F,IAAG,CAAE,CAA4C,GAA3CJ,GAAG,EAAEG,GAAED,GAAED,GAAE,KAAKI,IAAG,EAAGC,GAAG,EAAEgN,GAAG/wB,QAAQ,KAAQ,OAAO9Q,GAAG,OAAOA,EAAEqQ,OAAO,CAACyuB,GAAE,EAAEmD,GAAGpiC,EAAEkiC,GAAE,KAAK,KAAK,CAACjhC,EAAE,CAAC,IAAItT,EAAEsT,EAAEZ,EAAEF,EAAEqQ,OAAOlQ,EAAEH,EAAEI,EAAEP,EAAqB,GAAnBA,EAAEmiC,GAAE7hC,EAAEmQ,OAAO,MAAS,OAAOlQ,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAE8oB,KAAK,CAAC,IAAI58B,EAAE8T,EAAEC,EAAEF,EAAEI,EAAEF,EAAEzD,IAAI,GAAG,KAAY,EAAPyD,EAAE6sB,QAAU,IAAI3sB,GAAG,KAAKA,GAAG,KAAKA,GAAG,CAAC,IAAIC,EAAEH,EAAE+P,UAAU5P,GAAGH,EAAEgvB,YAAY7uB,EAAE6uB,YAAYhvB,EAAEmQ,cAAchQ,EAAEgQ,cACxenQ,EAAEmuB,MAAMhuB,EAAEguB,QAAQnuB,EAAEgvB,YAAY,KAAKhvB,EAAEmQ,cAAc,KAAK,CAAC,IAAI5P,EAAEg6B,GAAG16B,GAAG,GAAG,OAAOU,EAAE,CAACA,EAAE0P,QAAQ,IAAIuqB,GAAGj6B,EAAEV,EAAEC,EAAE3S,EAAEqS,GAAU,EAAPe,EAAEssB,MAAQuN,GAAGjtC,EAAElB,EAAEuT,GAAOO,EAAE9T,EAAE,IAAIU,GAAZ6S,EAAEe,GAAcyuB,YAAY,GAAG,OAAOriC,EAAE,CAAC,IAAIyT,EAAE,IAAIqC,IAAIrC,EAAEyC,IAAI9C,GAAGP,EAAEwvB,YAAY5uB,CAAC,MAAMzT,EAAEkW,IAAI9C,GAAG,MAAMU,CAAC,CAAM,GAAG,KAAO,EAAFjB,GAAK,CAAC46B,GAAGjtC,EAAElB,EAAEuT,GAAGu9B,KAAK,MAAMt8B,CAAC,CAACV,EAAE6F,MAAM3F,EAAE,KAAM,MAAM,GAAGgsB,IAAU,EAAPnsB,EAAE+sB,KAAO,CAAC,IAAIjG,EAAE2T,GAAG16B,GAAG,GAAG,OAAO+mB,EAAE,CAAC,KAAa,MAARA,EAAE3W,SAAe2W,EAAE3W,OAAO,KAAKuqB,GAAG5T,EAAE/mB,EAAEC,EAAE3S,EAAEqS,GAAG4tB,GAAGiM,GAAGt5B,EAAED,IAAI,MAAMW,CAAC,CAAC,CAACtT,EAAE4S,EAAEs5B,GAAGt5B,EAAED,GAAG,IAAI2+B,KAAIA,GAAE,GAAG,OAAOsD,GAAGA,GAAG,CAAC50C,GAAG40C,GAAG93C,KAAKkD,GAAGA,EAAE0S,EAAE,EAAE,CAAC,OAAO1S,EAAEoP,KAAK,KAAK,EAAEpP,EAAE8iB,OAAO,MACpfzQ,IAAIA,EAAErS,EAAEghC,OAAO3uB,EAAkBwwB,GAAG7iC,EAAb0sC,GAAG1sC,EAAE4S,EAAEP,IAAW,MAAMiB,EAAE,KAAK,EAAEX,EAAEC,EAAE,IAAIO,EAAEnT,EAAEuQ,KAAKgD,EAAEvT,EAAEshB,UAAU,GAAG,KAAa,IAARthB,EAAE8iB,SAAa,oBAAoB3P,EAAEhD,0BAA0B,OAAOoD,GAAG,oBAAoBA,EAAEu5B,oBAAoB,OAAOC,KAAKA,GAAG/T,IAAIzlB,KAAK,CAACvT,EAAE8iB,OAAO,MAAMzQ,IAAIA,EAAErS,EAAEghC,OAAO3uB,EAAkBwwB,GAAG7iC,EAAb6sC,GAAG7sC,EAAE2S,EAAEN,IAAW,MAAMiB,CAAC,EAAEtT,EAAEA,EAAE6iB,MAAM,OAAO,OAAO7iB,EAAE,CAACg3C,GAAGxkC,EAAE,CAAC,MAAMwnB,GAAI3nB,EAAE2nB,EAAGua,KAAI/hC,GAAG,OAAOA,IAAI+hC,GAAE/hC,EAAEA,EAAEqQ,QAAQ,QAAQ,CAAC,KAAK,CAAS,CAAC,SAASuzB,KAAK,IAAI9iC,EAAE8gC,GAAG9wB,QAAsB,OAAd8wB,GAAG9wB,QAAQukB,GAAU,OAAOv0B,EAAEu0B,GAAGv0B,CAAC,CACrd,SAASs8B,KAAQ,IAAI0B,IAAG,IAAIA,IAAG,IAAIA,KAAEA,GAAE,GAAE,OAAOnI,IAAG,KAAQ,UAAHpG,KAAe,KAAQ,UAAH2R,KAAea,GAAGpM,GAAEqL,GAAE,CAAC,SAAS2B,GAAG7iC,EAAEjB,GAAG,IAAIG,EAAEmwB,GAAEA,IAAG,EAAE,IAAIlwB,EAAE2jC,KAAqC,IAA7BjN,KAAI71B,GAAGkhC,KAAIniC,IAAE0iC,GAAG,KAAKsB,GAAG/iC,EAAEjB,UAAU4kC,KAAK,KAAK,CAAC,MAAMl3C,GAAGw2C,GAAGjjC,EAAEvT,EAAE,CAAgC,GAAtBygC,KAAKmC,GAAEnwB,EAAE4hC,GAAG9wB,QAAQ7Q,EAAK,OAAO8hC,GAAE,MAAM97B,MAAM3F,EAAE,MAAiB,OAAXq2B,GAAE,KAAKqL,GAAE,EAASlD,EAAC,CAAC,SAAS2F,KAAK,KAAK,OAAO1C,IAAG2C,GAAG3C,GAAE,CAAC,SAAS+B,KAAK,KAAK,OAAO/B,KAAI1wB,MAAMqzB,GAAG3C,GAAE,CAAC,SAAS2C,GAAG5jC,GAAG,IAAIjB,EAAE4hC,GAAG3gC,EAAEsP,UAAUtP,EAAE86B,IAAI96B,EAAEwsB,cAAcxsB,EAAE+rB,aAAa,OAAOhtB,EAAE2kC,GAAG1jC,GAAGihC,GAAEliC,EAAEgiC,GAAG/wB,QAAQ,IAAI,CAC1d,SAAS0zB,GAAG1jC,GAAG,IAAIjB,EAAEiB,EAAE,EAAE,CAAC,IAAId,EAAEH,EAAEuQ,UAAqB,GAAXtP,EAAEjB,EAAEwQ,OAAU,KAAa,MAARxQ,EAAEyQ,QAAc,GAAgB,QAAbtQ,EAAEo+B,GAAGp+B,EAAEH,EAAE+7B,KAAkB,YAAJmG,GAAE/hC,OAAc,CAAW,GAAG,QAAbA,EAAEi/B,GAAGj/B,EAAEH,IAAmC,OAAnBG,EAAEsQ,OAAO,WAAMyxB,GAAE/hC,GAAS,GAAG,OAAOc,EAAmE,OAAXg+B,GAAE,OAAEiD,GAAE,MAA5DjhC,EAAEwP,OAAO,MAAMxP,EAAE08B,aAAa,EAAE18B,EAAE6rB,UAAU,IAA4B,CAAa,GAAG,QAAf9sB,EAAEA,EAAEgR,SAAyB,YAAJkxB,GAAEliC,GAASkiC,GAAEliC,EAAEiB,CAAC,OAAO,OAAOjB,GAAG,IAAIi/B,KAAIA,GAAE,EAAE,CAAC,SAASsF,GAAGtjC,EAAEjB,EAAEG,GAAG,IAAIC,EAAE+T,GAAEzmB,EAAEu0C,GAAGnrB,WAAW,IAAImrB,GAAGnrB,WAAW,KAAK3C,GAAE,EAC3Y,SAAYlT,EAAEjB,EAAEG,EAAEC,GAAG,GAAGyjC,WAAW,OAAOjB,IAAI,GAAG,KAAO,EAAFtS,IAAK,MAAMlqB,MAAM3F,EAAE,MAAMN,EAAEc,EAAEojC,aAAa,IAAI32C,EAAEuT,EAAEqjC,cAAc,GAAG,OAAOnkC,EAAE,OAAO,KAA2C,GAAtCc,EAAEojC,aAAa,KAAKpjC,EAAEqjC,cAAc,EAAKnkC,IAAIc,EAAEgQ,QAAQ,MAAM7K,MAAM3F,EAAE,MAAMQ,EAAEmiC,aAAa,KAAKniC,EAAEuiC,iBAAiB,EAAE,IAAI71C,EAAEwS,EAAEwuB,MAAMxuB,EAAEouB,WAA8J,GA1NtT,SAAYttB,EAAEjB,GAAG,IAAIG,EAAEc,EAAEsS,cAAcvT,EAAEiB,EAAEsS,aAAavT,EAAEiB,EAAEuS,eAAe,EAAEvS,EAAEwS,YAAY,EAAExS,EAAEqiC,cAActjC,EAAEiB,EAAE6jC,kBAAkB9kC,EAAEiB,EAAEyS,gBAAgB1T,EAAEA,EAAEiB,EAAE0S,cAAc,IAAIvT,EAAEa,EAAEgT,WAAW,IAAIhT,EAAEA,EAAEoiC,gBAAgB,EAAEljC,GAAG,CAAC,IAAIzS,EAAE,GAAGklB,GAAGzS,GAAGxS,EAAE,GAAGD,EAAEsS,EAAEtS,GAAG,EAAE0S,EAAE1S,IAAI,EAAEuT,EAAEvT,IAAI,EAAEyS,IAAIxS,CAAC,CAAC,CA0N5Go3C,CAAG9jC,EAAEtT,GAAGsT,IAAI61B,KAAIoL,GAAEpL,GAAE,KAAKqL,GAAE,GAAG,KAAoB,KAAfhiC,EAAEw9B,eAAoB,KAAa,KAARx9B,EAAEsQ,QAAakyB,KAAKA,IAAG,EAAGgB,GAAGvxB,IAAG,WAAgB,OAALyxB,KAAY,IAAI,KAAIl2C,EAAE,KAAa,MAARwS,EAAEsQ,OAAgB,KAAoB,MAAftQ,EAAEw9B,eAAqBhwC,EAAE,CAACA,EAAEs0C,GAAGnrB,WAAWmrB,GAAGnrB,WAAW,KAChf,IAAIzW,EAAE8T,GAAEA,GAAE,EAAE,IAAI7T,EAAEgwB,GAAEA,IAAG,EAAE0R,GAAG/wB,QAAQ,KA1CpC,SAAYhQ,EAAEjB,GAAgB,GAAbwoB,GAAG5R,GAAakM,GAAV7hB,EAAEyhB,MAAc,CAAC,GAAG,mBAAmBzhB,EAAE,IAAId,EAAE,CAACgjB,MAAMliB,EAAEoiB,eAAeD,IAAIniB,EAAEqiB,mBAAmBriB,EAAE,CAA8C,IAAIb,GAAjDD,GAAGA,EAAEc,EAAE9O,gBAAgBgO,EAAEqjB,aAAah0B,QAAei0B,cAActjB,EAAEsjB,eAAe,GAAGrjB,GAAG,IAAIA,EAAEujB,WAAW,CAACxjB,EAAEC,EAAEwjB,WAAW,IAAIl2B,EAAE0S,EAAEyjB,aAAal2B,EAAEyS,EAAE0jB,UAAU1jB,EAAEA,EAAE2jB,YAAY,IAAI5jB,EAAErP,SAASnD,EAAEmD,QAAQ,CAAC,MAAMu2B,GAAGlnB,EAAE,KAAK,MAAMc,CAAC,CAAC,IAAIZ,EAAE,EAAEC,GAAG,EAAEC,GAAG,EAAE9T,EAAE,EAAE+T,EAAE,EAAEE,EAAEO,EAAEN,EAAE,KAAKX,EAAE,OAAO,CAAC,IAAI,IAAIe,EAAKL,IAAIP,GAAG,IAAIzS,GAAG,IAAIgT,EAAE5P,WAAWwP,EAAED,EAAE3S,GAAGgT,IAAI/S,GAAG,IAAIyS,GAAG,IAAIM,EAAE5P,WAAWyP,EAAEF,EAAED,GAAG,IAAIM,EAAE5P,WAAWuP,GACnfK,EAAEqJ,UAAU9d,QAAW,QAAQ8U,EAAEL,EAAErE,aAAkBsE,EAAED,EAAEA,EAAEK,EAAE,OAAO,CAAC,GAAGL,IAAIO,EAAE,MAAMjB,EAA8C,GAA5CW,IAAIR,KAAK1T,IAAIiB,IAAI4S,EAAED,GAAGM,IAAIhT,KAAK6S,IAAIJ,IAAIG,EAAEF,GAAM,QAAQU,EAAEL,EAAE4hB,aAAa,MAAU3hB,GAAJD,EAAEC,GAAM3I,UAAU,CAAC0I,EAAEK,CAAC,CAACZ,GAAG,IAAIG,IAAI,IAAIC,EAAE,KAAK,CAAC4iB,MAAM7iB,EAAE8iB,IAAI7iB,EAAE,MAAMJ,EAAE,IAAI,CAACA,EAAEA,GAAG,CAACgjB,MAAM,EAAEC,IAAI,EAAE,MAAMjjB,EAAE,KAA+C,IAA1CsoB,GAAG,CAACxF,YAAYhiB,EAAEiiB,eAAe/iB,GAAGyW,IAAG,EAAO6oB,GAAEz/B,EAAE,OAAOy/B,IAAG,GAAOx+B,GAAJjB,EAAEy/B,IAAM1uB,MAAM,KAAoB,KAAf/Q,EAAE29B,eAAoB,OAAO18B,EAAEA,EAAEuP,OAAOxQ,EAAEy/B,GAAEx+B,OAAO,KAAK,OAAOw+B,IAAG,CAACz/B,EAAEy/B,GAAE,IAAI,IAAItyC,EAAE6S,EAAEuQ,UAAU,GAAG,KAAa,KAARvQ,EAAEyQ,OAAY,OAAOzQ,EAAEjD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GACvK,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,MAA3W,KAAK,EAAE,GAAG,OAAO5P,EAAE,CAAC,IAAIyT,EAAEzT,EAAEsgC,cAAcrG,EAAEj6B,EAAEwjB,cAAc9mB,EAAEmW,EAAEiP,UAAUnO,EAAEjX,EAAEuoC,wBAAwBpyB,EAAE6sB,cAAc7sB,EAAE9B,KAAK0C,EAAEktB,GAAG9tB,EAAE9B,KAAK0C,GAAGwmB,GAAGv9B,EAAE63C,oCAAoC5gC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAII,EAAElB,EAAEiP,UAAUgH,cAAc,IAAI/U,EAAEpQ,SAASoQ,EAAElH,YAAY,GAAG,IAAIkH,EAAEpQ,UAAUoQ,EAAEjI,iBAAiBiI,EAAEjJ,YAAYiJ,EAAEjI,iBAAiB,MAAyC,QAAQ,MAAMmN,MAAM3F,EAAE,MAAO,CAAC,MAAM4mB,GAAGsY,GAAE3/B,EAAEA,EAAEwQ,OAAO6W,EAAE,CAAa,GAAG,QAAfpmB,EAAEjB,EAAEgR,SAAoB,CAAC/P,EAAEuP,OAAOxQ,EAAEwQ,OAAOivB,GAAEx+B,EAAE,KAAK,CAACw+B,GAAEz/B,EAAEwQ,MAAM,CAACrjB,EAAE0yC,GAAGA,IAAG,CAAW,CAwCldmF,CAAG/jC,EAAEd,GAAG6gC,GAAG7gC,EAAEc,GAAG+hB,GAAGyF,IAAI7R,KAAK4R,GAAGC,GAAGD,GAAG,KAAKvnB,EAAEgQ,QAAQ9Q,EAAEmhC,GAAGnhC,EAAEc,EAAEvT,GAAGgkB,KAAK4e,GAAEhwB,EAAE6T,GAAE9T,EAAE4hC,GAAGnrB,WAAWnpB,CAAC,MAAMsT,EAAEgQ,QAAQ9Q,EAAsF,GAApFwiC,KAAKA,IAAG,EAAGC,GAAG3hC,EAAE4hC,GAAGn1C,GAAGC,EAAEsT,EAAEsS,aAAa,IAAI5lB,IAAI+sC,GAAG,MAjOmJ,SAAYz5B,GAAG,GAAG0R,IAAI,oBAAoBA,GAAGsyB,kBAAkB,IAAItyB,GAAGsyB,kBAAkBvyB,GAAGzR,OAAE,EAAO,OAAuB,IAAhBA,EAAEgQ,QAAQR,OAAW,CAAC,MAAMzQ,GAAG,CAAC,CAiOxRklC,CAAG/kC,EAAE8O,WAAak0B,GAAGliC,EAAE2Q,MAAQ,OAAO5R,EAAE,IAAII,EAAEa,EAAEkkC,mBAAmBhlC,EAAE,EAAEA,EAAEH,EAAE/T,OAAOkU,IAAIzS,EAAEsS,EAAEG,GAAGC,EAAE1S,EAAEH,MAAM,CAACotC,eAAejtC,EAAE2Y,MAAM0zB,OAAOrsC,EAAEqsC,SAAS,GAAGO,GAAG,MAAMA,IAAG,EAAGr5B,EAAEs5B,GAAGA,GAAG,KAAKt5B,EAAE,KAAQ,EAAH4hC,KAAO,IAAI5hC,EAAElE,KAAK8mC,KAAKl2C,EAAEsT,EAAEsS,aAAa,KAAO,EAAF5lB,GAAKsT,IAAI8hC,GAAGD,MAAMA,GAAG,EAAEC,GAAG9hC,GAAG6hC,GAAG,EAAErX,IAAgB,CAFxF2Z,CAAGnkC,EAAEjB,EAAEG,EAAEC,EAAE,CAAC,QAAQ6hC,GAAGnrB,WAAWppB,EAAEymB,GAAE/T,CAAC,CAAC,OAAO,IAAI,CAGhc,SAASyjC,KAAK,GAAG,OAAOjB,GAAG,CAAC,IAAI3hC,EAAEmT,GAAGyuB,IAAI7iC,EAAEiiC,GAAGnrB,WAAW3W,EAAEgU,GAAE,IAAmC,GAA/B8tB,GAAGnrB,WAAW,KAAK3C,GAAE,GAAGlT,EAAE,GAAGA,EAAK,OAAO2hC,GAAG,IAAIxiC,GAAE,MAAO,CAAmB,GAAlBa,EAAE2hC,GAAGA,GAAG,KAAKC,GAAG,EAAK,KAAO,EAAFvS,IAAK,MAAMlqB,MAAM3F,EAAE,MAAM,IAAI/S,EAAE4iC,GAAO,IAALA,IAAG,EAAMmP,GAAEx+B,EAAEgQ,QAAQ,OAAOwuB,IAAG,CAAC,IAAI9xC,EAAE8xC,GAAEp/B,EAAE1S,EAAEojB,MAAM,GAAG,KAAa,GAAR0uB,GAAEhvB,OAAU,CAAC,IAAInQ,EAAE3S,EAAEm/B,UAAU,GAAG,OAAOxsB,EAAE,CAAC,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAErU,OAAOsU,IAAI,CAAC,IAAI9T,EAAE6T,EAAEC,GAAG,IAAIk/B,GAAEhzC,EAAE,OAAOgzC,IAAG,CAAC,IAAIj/B,EAAEi/B,GAAE,OAAOj/B,EAAEzD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG+iC,GAAG,EAAEt/B,EAAE7S,GAAG,IAAI+S,EAAEF,EAAEuQ,MAAM,GAAG,OAAOrQ,EAAEA,EAAE8P,OAAOhQ,EAAEi/B,GAAE/+B,OAAO,KAAK,OAAO++B,IAAG,CAAK,IAAI9+B,GAARH,EAAEi/B,IAAUzuB,QAAQjQ,EAAEP,EAAEgQ,OAAa,GAANyvB,GAAGz/B,GAAMA,IACnf/T,EAAE,CAACgzC,GAAE,KAAK,KAAK,CAAC,GAAG,OAAO9+B,EAAE,CAACA,EAAE6P,OAAOzP,EAAE0+B,GAAE9+B,EAAE,KAAK,CAAC8+B,GAAE1+B,CAAC,CAAC,CAAC,CAAC,IAAI5T,EAAEQ,EAAE4iB,UAAU,GAAG,OAAOpjB,EAAE,CAAC,IAAIyT,EAAEzT,EAAE4jB,MAAM,GAAG,OAAOnQ,EAAE,CAACzT,EAAE4jB,MAAM,KAAK,EAAE,CAAC,IAAIqW,EAAExmB,EAAEoQ,QAAQpQ,EAAEoQ,QAAQ,KAAKpQ,EAAEwmB,CAAC,OAAO,OAAOxmB,EAAE,CAAC,CAAC6+B,GAAE9xC,CAAC,CAAC,CAAC,GAAG,KAAoB,KAAfA,EAAEgwC,eAAoB,OAAOt9B,EAAEA,EAAEmQ,OAAO7iB,EAAE8xC,GAAEp/B,OAAOL,EAAE,KAAK,OAAOy/B,IAAG,CAAK,GAAG,KAAa,MAApB9xC,EAAE8xC,IAAYhvB,OAAY,OAAO9iB,EAAEoP,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG+iC,GAAG,EAAEnyC,EAAEA,EAAE6iB,QAAQ,IAAI3mB,EAAE8D,EAAEqjB,QAAQ,GAAG,OAAOnnB,EAAE,CAACA,EAAE2mB,OAAO7iB,EAAE6iB,OAAOivB,GAAE51C,EAAE,MAAMmW,CAAC,CAACy/B,GAAE9xC,EAAE6iB,MAAM,CAAC,CAAC,IAAI1P,EAAEG,EAAEgQ,QAAQ,IAAIwuB,GAAE3+B,EAAE,OAAO2+B,IAAG,CAAK,IAAIv+B,GAARb,EAAEo/B,IAAU1uB,MAAM,GAAG,KAAoB,KAAf1Q,EAAEs9B,eAAoB,OAClfz8B,EAAEA,EAAEsP,OAAOnQ,EAAEo/B,GAAEv+B,OAAOlB,EAAE,IAAIK,EAAES,EAAE,OAAO2+B,IAAG,CAAK,GAAG,KAAa,MAApBn/B,EAAEm/B,IAAYhvB,OAAY,IAAI,OAAOnQ,EAAEvD,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGgjC,GAAG,EAAEz/B,GAAG,CAAC,MAAMqnB,GAAIgY,GAAEr/B,EAAEA,EAAEkQ,OAAOmX,EAAG,CAAC,GAAGrnB,IAAID,EAAE,CAACo/B,GAAE,KAAK,MAAMz/B,CAAC,CAAC,IAAIqnB,EAAE/mB,EAAE0Q,QAAQ,GAAG,OAAOqW,EAAE,CAACA,EAAE7W,OAAOlQ,EAAEkQ,OAAOivB,GAAEpY,EAAE,MAAMrnB,CAAC,CAACy/B,GAAEn/B,EAAEkQ,MAAM,CAAC,CAAU,GAAT8f,GAAE5iC,EAAE+9B,KAAQ9Y,IAAI,oBAAoBA,GAAG0yB,sBAAsB,IAAI1yB,GAAG0yB,sBAAsB3yB,GAAGzR,EAAE,CAAC,MAAM0mB,GAAI,CAACvnB,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQ+T,GAAEhU,EAAE8hC,GAAGnrB,WAAW9W,CAAC,CAAC,CAAC,OAAM,CAAE,CAAC,SAASslC,GAAGrkC,EAAEjB,EAAEG,GAAyBc,EAAEovB,GAAGpvB,EAAjBjB,EAAEq6B,GAAGp5B,EAAfjB,EAAE65B,GAAG15B,EAAEH,GAAY,GAAY,GAAGA,EAAEoxB,KAAI,OAAOnwB,IAAI+S,GAAG/S,EAAE,EAAEjB,GAAGmjC,GAAGliC,EAAEjB,GAAG,CACze,SAAS2/B,GAAE1+B,EAAEjB,EAAEG,GAAG,GAAG,IAAIc,EAAElE,IAAIuoC,GAAGrkC,EAAEA,EAAEd,QAAQ,KAAK,OAAOH,GAAG,CAAC,GAAG,IAAIA,EAAEjD,IAAI,CAACuoC,GAAGtlC,EAAEiB,EAAEd,GAAG,KAAK,CAAM,GAAG,IAAIH,EAAEjD,IAAI,CAAC,IAAIqD,EAAEJ,EAAEiP,UAAU,GAAG,oBAAoBjP,EAAE9B,KAAKJ,0BAA0B,oBAAoBsC,EAAEq6B,oBAAoB,OAAOC,KAAKA,GAAG/T,IAAIvmB,IAAI,CAAuBJ,EAAEqwB,GAAGrwB,EAAjBiB,EAAEu5B,GAAGx6B,EAAfiB,EAAE44B,GAAG15B,EAAEc,GAAY,GAAY,GAAGA,EAAEmwB,KAAI,OAAOpxB,IAAIgU,GAAGhU,EAAE,EAAEiB,GAAGkiC,GAAGnjC,EAAEiB,IAAI,KAAK,CAAC,CAACjB,EAAEA,EAAEwQ,MAAM,CAAC,CACnV,SAASsqB,GAAG75B,EAAEjB,EAAEG,GAAG,IAAIC,EAAEa,EAAE45B,UAAU,OAAOz6B,GAAGA,EAAEiV,OAAOrV,GAAGA,EAAEoxB,KAAInwB,EAAEwS,aAAaxS,EAAEuS,eAAerT,EAAE22B,KAAI71B,IAAIkhC,GAAEhiC,KAAKA,IAAI,IAAI8+B,IAAG,IAAIA,KAAM,UAAFkD,MAAeA,IAAG,IAAIvwB,KAAIuvB,GAAG6C,GAAG/iC,EAAE,GAAGqhC,IAAIniC,GAAGgjC,GAAGliC,EAAEjB,EAAE,CAAC,SAASulC,GAAGtkC,EAAEjB,GAAG,IAAIA,IAAI,KAAY,EAAPiB,EAAEosB,MAAQrtB,EAAE,GAAGA,EAAEoT,GAAU,KAAQ,WAAfA,KAAK,MAAuBA,GAAG,WAAW,IAAIjT,EAAEixB,KAAc,QAAVnwB,EAAEouB,GAAGpuB,EAAEjB,MAAcgU,GAAG/S,EAAEjB,EAAEG,GAAGgjC,GAAGliC,EAAEd,GAAG,CAAC,SAASq9B,GAAGv8B,GAAG,IAAIjB,EAAEiB,EAAE0P,cAAcxQ,EAAE,EAAE,OAAOH,IAAIG,EAAEH,EAAEmtB,WAAWoY,GAAGtkC,EAAEd,EAAE,CACjZ,SAAS2gC,GAAG7/B,EAAEjB,GAAG,IAAIG,EAAE,EAAE,OAAOc,EAAElE,KAAK,KAAK,GAAG,IAAIqD,EAAEa,EAAEgO,UAAcvhB,EAAEuT,EAAE0P,cAAc,OAAOjjB,IAAIyS,EAAEzS,EAAEy/B,WAAW,MAAM,KAAK,GAAG/sB,EAAEa,EAAEgO,UAAU,MAAM,QAAQ,MAAM7I,MAAM3F,EAAE,MAAO,OAAOL,GAAGA,EAAEiV,OAAOrV,GAAGulC,GAAGtkC,EAAEd,EAAE,CAQqK,SAASwjC,GAAG1iC,EAAEjB,GAAG,OAAOoR,GAAGnQ,EAAEjB,EAAE,CACjZ,SAASwlC,GAAGvkC,EAAEjB,EAAEG,EAAEC,GAAGwD,KAAK7G,IAAIkE,EAAE2C,KAAK9D,IAAIK,EAAEyD,KAAKoN,QAAQpN,KAAKmN,MAAMnN,KAAK4M,OAAO5M,KAAKqL,UAAUrL,KAAK1F,KAAK0F,KAAKipB,YAAY,KAAKjpB,KAAKovB,MAAM,EAAEpvB,KAAK6uB,IAAI,KAAK7uB,KAAKopB,aAAahtB,EAAE4D,KAAK6qB,aAAa7qB,KAAK+M,cAAc/M,KAAK4rB,YAAY5rB,KAAK6pB,cAAc,KAAK7pB,KAAKypB,KAAKjtB,EAAEwD,KAAK+5B,aAAa/5B,KAAK6M,MAAM,EAAE7M,KAAKkpB,UAAU,KAAKlpB,KAAK2qB,WAAW3qB,KAAK+qB,MAAM,EAAE/qB,KAAK2M,UAAU,IAAI,CAAC,SAASqc,GAAG3rB,EAAEjB,EAAEG,EAAEC,GAAG,OAAO,IAAIolC,GAAGvkC,EAAEjB,EAAEG,EAAEC,EAAE,CAAC,SAASm7B,GAAGt6B,GAAiB,UAAdA,EAAEA,EAAE7W,aAAuB6W,EAAEwkC,iBAAiB,CAEpd,SAASxS,GAAGhyB,EAAEjB,GAAG,IAAIG,EAAEc,EAAEsP,UACuB,OADb,OAAOpQ,IAAGA,EAAEysB,GAAG3rB,EAAElE,IAAIiD,EAAEiB,EAAEnB,IAAImB,EAAEosB,OAAQR,YAAY5rB,EAAE4rB,YAAY1sB,EAAEjC,KAAK+C,EAAE/C,KAAKiC,EAAE8O,UAAUhO,EAAEgO,UAAU9O,EAAEoQ,UAAUtP,EAAEA,EAAEsP,UAAUpQ,IAAIA,EAAE6sB,aAAahtB,EAAEG,EAAEjC,KAAK+C,EAAE/C,KAAKiC,EAAEsQ,MAAM,EAAEtQ,EAAEw9B,aAAa,EAAEx9B,EAAE2sB,UAAU,MAAM3sB,EAAEsQ,MAAc,SAARxP,EAAEwP,MAAetQ,EAAEouB,WAAWttB,EAAEstB,WAAWpuB,EAAEwuB,MAAM1tB,EAAE0tB,MAAMxuB,EAAE4Q,MAAM9P,EAAE8P,MAAM5Q,EAAEstB,cAAcxsB,EAAEwsB,cAActtB,EAAEwQ,cAAc1P,EAAE0P,cAAcxQ,EAAEqvB,YAAYvuB,EAAEuuB,YAAYxvB,EAAEiB,EAAEwtB,aAAatuB,EAAEsuB,aAAa,OAAOzuB,EAAE,KAAK,CAAC2uB,MAAM3uB,EAAE2uB,MAAMD,aAAa1uB,EAAE0uB,cAC/evuB,EAAE6Q,QAAQ/P,EAAE+P,QAAQ7Q,EAAE6yB,MAAM/xB,EAAE+xB,MAAM7yB,EAAEsyB,IAAIxxB,EAAEwxB,IAAWtyB,CAAC,CACxD,SAASgzB,GAAGlyB,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,GAAG,IAAI0S,EAAE,EAAM,GAAJD,EAAEa,EAAK,oBAAoBA,EAAEs6B,GAAGt6B,KAAKZ,EAAE,QAAQ,GAAG,kBAAkBY,EAAEZ,EAAE,OAAOY,EAAE,OAAOA,GAAG,KAAKkE,EAAG,OAAOkuB,GAAGlzB,EAAE+I,SAASxb,EAAEC,EAAEqS,GAAG,KAAKoF,EAAG/E,EAAE,EAAE3S,GAAG,EAAE,MAAM,KAAK2X,EAAG,OAAOpE,EAAE2rB,GAAG,GAAGzsB,EAAEH,EAAI,EAAFtS,IAAOm/B,YAAYxnB,EAAGpE,EAAE0tB,MAAMhhC,EAAEsT,EAAE,KAAKwE,EAAG,OAAOxE,EAAE2rB,GAAG,GAAGzsB,EAAEH,EAAEtS,IAAKm/B,YAAYpnB,EAAGxE,EAAE0tB,MAAMhhC,EAAEsT,EAAE,KAAKyE,EAAG,OAAOzE,EAAE2rB,GAAG,GAAGzsB,EAAEH,EAAEtS,IAAKm/B,YAAYnnB,EAAGzE,EAAE0tB,MAAMhhC,EAAEsT,EAAE,KAAK4E,EAAG,OAAOq3B,GAAG/8B,EAAEzS,EAAEC,EAAEqS,GAAG,QAAQ,GAAG,kBAAkBiB,GAAG,OAAOA,EAAE,OAAOA,EAAEE,UAAU,KAAKmE,EAAGjF,EAAE,GAAG,MAAMY,EAAE,KAAKsE,EAAGlF,EAAE,EAAE,MAAMY,EAAE,KAAKuE,EAAGnF,EAAE,GACpf,MAAMY,EAAE,KAAK0E,EAAGtF,EAAE,GAAG,MAAMY,EAAE,KAAK2E,EAAGvF,EAAE,GAAGD,EAAE,KAAK,MAAMa,EAAE,MAAMmF,MAAM3F,EAAE,IAAI,MAAMQ,EAAEA,SAASA,EAAE,KAAuD,OAAjDjB,EAAE4sB,GAAGvsB,EAAEF,EAAEH,EAAEtS,IAAKm/B,YAAY5rB,EAAEjB,EAAE9B,KAAKkC,EAAEJ,EAAE2uB,MAAMhhC,EAASqS,CAAC,CAAC,SAASqzB,GAAGpyB,EAAEjB,EAAEG,EAAEC,GAA2B,OAAxBa,EAAE2rB,GAAG,EAAE3rB,EAAEb,EAAEJ,IAAK2uB,MAAMxuB,EAASc,CAAC,CAAC,SAASi8B,GAAGj8B,EAAEjB,EAAEG,EAAEC,GAAuE,OAApEa,EAAE2rB,GAAG,GAAG3rB,EAAEb,EAAEJ,IAAK6sB,YAAYhnB,EAAG5E,EAAE0tB,MAAMxuB,EAAEc,EAAEgO,UAAU,CAACiyB,UAAS,GAAWjgC,CAAC,CAAC,SAASiyB,GAAGjyB,EAAEjB,EAAEG,GAA8B,OAA3Bc,EAAE2rB,GAAG,EAAE3rB,EAAE,KAAKjB,IAAK2uB,MAAMxuB,EAASc,CAAC,CAC5W,SAASmyB,GAAGnyB,EAAEjB,EAAEG,GAA8J,OAA3JH,EAAE4sB,GAAG,EAAE,OAAO3rB,EAAEiI,SAASjI,EAAEiI,SAAS,GAAGjI,EAAEnB,IAAIE,IAAK2uB,MAAMxuB,EAAEH,EAAEiP,UAAU,CAACgH,cAAchV,EAAEgV,cAAcyvB,gBAAgB,KAAKnzC,eAAe0O,EAAE1O,gBAAuByN,CAAC,CACtL,SAAS2lC,GAAG1kC,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAGkW,KAAK7G,IAAIiD,EAAE4D,KAAKqS,cAAchV,EAAE2C,KAAKygC,aAAazgC,KAAKi3B,UAAUj3B,KAAKqN,QAAQrN,KAAK8hC,gBAAgB,KAAK9hC,KAAK4gC,eAAe,EAAE5gC,KAAKw/B,aAAax/B,KAAK44B,eAAe54B,KAAKkrB,QAAQ,KAAKlrB,KAAK4/B,iBAAiB,EAAE5/B,KAAKqQ,WAAWF,GAAG,GAAGnQ,KAAKy/B,gBAAgBtvB,IAAI,GAAGnQ,KAAK8P,eAAe9P,KAAK0gC,cAAc1gC,KAAKkhC,iBAAiBlhC,KAAK0/B,aAAa1/B,KAAK6P,YAAY7P,KAAK4P,eAAe5P,KAAK2P,aAAa,EAAE3P,KAAK+P,cAAcI,GAAG,GAAGnQ,KAAKg2B,iBAAiBx5B,EAAEwD,KAAKuhC,mBAAmBz3C,EAAEkW,KAAKgiC,gCAC/e,IAAI,CAAC,SAASC,GAAG5kC,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,EAAEC,EAAEC,GAAgN,OAA7MU,EAAE,IAAI0kC,GAAG1kC,EAAEjB,EAAEG,EAAEG,EAAEC,GAAG,IAAIP,GAAGA,EAAE,GAAE,IAAKrS,IAAIqS,GAAG,IAAIA,EAAE,EAAErS,EAAEi/B,GAAG,EAAE,KAAK,KAAK5sB,GAAGiB,EAAEgQ,QAAQtjB,EAAEA,EAAEshB,UAAUhO,EAAEtT,EAAEgjB,cAAc,CAACjkB,QAAQ0T,EAAE4V,aAAa7V,EAAE2lC,MAAM,KAAKjK,YAAY,KAAKkK,0BAA0B,MAAMxW,GAAG5hC,GAAUsT,CAAC,CACzP,SAAS+kC,GAAG/kC,GAAG,IAAIA,EAAE,OAAOqpB,GAAuBrpB,EAAE,CAAC,GAAGqP,GAA1BrP,EAAEA,EAAEiwB,mBAA8BjwB,GAAG,IAAIA,EAAElE,IAAI,MAAMqJ,MAAM3F,EAAE,MAAM,IAAIT,EAAEiB,EAAE,EAAE,CAAC,OAAOjB,EAAEjD,KAAK,KAAK,EAAEiD,EAAEA,EAAEiP,UAAU6f,QAAQ,MAAM7tB,EAAE,KAAK,EAAE,GAAG4pB,GAAG7qB,EAAE9B,MAAM,CAAC8B,EAAEA,EAAEiP,UAAUkc,0CAA0C,MAAMlqB,CAAC,EAAEjB,EAAEA,EAAEwQ,MAAM,OAAO,OAAOxQ,GAAG,MAAMoG,MAAM3F,EAAE,KAAM,CAAC,GAAG,IAAIQ,EAAElE,IAAI,CAAC,IAAIoD,EAAEc,EAAE/C,KAAK,GAAG2sB,GAAG1qB,GAAG,OAAO6qB,GAAG/pB,EAAEd,EAAEH,EAAE,CAAC,OAAOA,CAAC,CACpW,SAASimC,GAAGhlC,EAAEjB,EAAEG,EAAEC,EAAE1S,EAAEC,EAAE0S,EAAEC,EAAEC,GAAwK,OAArKU,EAAE4kC,GAAG1lC,EAAEC,GAAE,EAAGa,EAAEvT,EAAEC,EAAE0S,EAAEC,EAAEC,IAAKuuB,QAAQkX,GAAG,MAAM7lC,EAAEc,EAAEgQ,SAAsBtjB,EAAEqiC,GAAhB5vB,EAAEgxB,KAAI1jC,EAAE2jC,GAAGlxB,KAAeiwB,cAAS,IAASpwB,GAAG,OAAOA,EAAEA,EAAE,KAAKqwB,GAAGlwB,EAAExS,EAAED,GAAGuT,EAAEgQ,QAAQ0d,MAAMjhC,EAAEsmB,GAAG/S,EAAEvT,EAAE0S,GAAG+iC,GAAGliC,EAAEb,GAAUa,CAAC,CAAC,SAASilC,GAAGjlC,EAAEjB,EAAEG,EAAEC,GAAG,IAAI1S,EAAEsS,EAAEiR,QAAQtjB,EAAEyjC,KAAI/wB,EAAEgxB,GAAG3jC,GAAsL,OAAnLyS,EAAE6lC,GAAG7lC,GAAG,OAAOH,EAAE8uB,QAAQ9uB,EAAE8uB,QAAQ3uB,EAAEH,EAAEw8B,eAAer8B,GAAEH,EAAEgwB,GAAGriC,EAAE0S,IAAK8vB,QAAQ,CAACzjC,QAAQuU,GAAuB,QAApBb,OAAE,IAASA,EAAE,KAAKA,KAAaJ,EAAEowB,SAAShwB,GAAe,QAAZa,EAAEovB,GAAG3iC,EAAEsS,EAAEK,MAAcixB,GAAGrwB,EAAEvT,EAAE2S,EAAE1S,GAAG4iC,GAAGtvB,EAAEvT,EAAE2S,IAAWA,CAAC,CAC3b,SAAS8lC,GAAGllC,GAAe,OAAZA,EAAEA,EAAEgQ,SAAcF,OAAyB9P,EAAE8P,MAAMhU,IAAoDkE,EAAE8P,MAAM9B,WAAhF,IAA0F,CAAC,SAASm3B,GAAGnlC,EAAEjB,GAAqB,GAAG,QAArBiB,EAAEA,EAAE0P,gBAA2B,OAAO1P,EAAE2P,WAAW,CAAC,IAAIzQ,EAAEc,EAAEksB,UAAUlsB,EAAEksB,UAAU,IAAIhtB,GAAGA,EAAEH,EAAEG,EAAEH,CAAC,CAAC,CAAC,SAASqmC,GAAGplC,EAAEjB,GAAGomC,GAAGnlC,EAAEjB,IAAIiB,EAAEA,EAAEsP,YAAY61B,GAAGnlC,EAAEjB,EAAE,CAnB7S4hC,GAAG,SAAS3gC,EAAEjB,EAAEG,GAAG,GAAG,OAAOc,EAAE,GAAGA,EAAEwsB,gBAAgBztB,EAAEgtB,cAAcxC,GAAGvZ,QAAQ2d,IAAG,MAAO,CAAC,GAAG,KAAK3tB,EAAE0tB,MAAMxuB,IAAI,KAAa,IAARH,EAAEyQ,OAAW,OAAOme,IAAG,EAzE1I,SAAY3tB,EAAEjB,EAAEG,GAAG,OAAOH,EAAEjD,KAAK,KAAK,EAAEw/B,GAAGv8B,GAAG2tB,KAAK,MAAM,KAAK,EAAEoG,GAAG/zB,GAAG,MAAM,KAAK,EAAE6qB,GAAG7qB,EAAE9B,OAAOgtB,GAAGlrB,GAAG,MAAM,KAAK,EAAE6zB,GAAG7zB,EAAEA,EAAEiP,UAAUgH,eAAe,MAAM,KAAK,GAAG,IAAI7V,EAAEJ,EAAE9B,KAAK0I,SAASlZ,EAAEsS,EAAEytB,cAAclgC,MAAM88B,GAAE0D,GAAG3tB,EAAEiuB,eAAejuB,EAAEiuB,cAAc3gC,EAAE,MAAM,KAAK,GAAqB,GAAG,QAArB0S,EAAEJ,EAAE2Q,eAA2B,OAAG,OAAOvQ,EAAEwQ,YAAkByZ,GAAE4J,GAAY,EAAVA,GAAEhjB,SAAWjR,EAAEyQ,OAAO,IAAI,MAAQ,KAAKtQ,EAAEH,EAAE+Q,MAAMwd,YAAmByO,GAAG/7B,EAAEjB,EAAEG,IAAGkqB,GAAE4J,GAAY,EAAVA,GAAEhjB,SAA8B,QAAnBhQ,EAAEo6B,GAAGp6B,EAAEjB,EAAEG,IAAmBc,EAAE+P,QAAQ,MAAKqZ,GAAE4J,GAAY,EAAVA,GAAEhjB,SAAW,MAAM,KAAK,GAC7d,GADge7Q,EAAE,KAAKD,EACrfH,EAAEuuB,YAAe,KAAa,IAARttB,EAAEwP,OAAW,CAAC,GAAGrQ,EAAE,OAAOg+B,GAAGn9B,EAAEjB,EAAEG,GAAGH,EAAEyQ,OAAO,GAAG,CAA6F,GAA1E,QAAlB/iB,EAAEsS,EAAE2Q,iBAAyBjjB,EAAEqwC,UAAU,KAAKrwC,EAAEwwC,KAAK,KAAKxwC,EAAEspC,WAAW,MAAM3M,GAAE4J,GAAEA,GAAEhjB,SAAY7Q,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOJ,EAAE2uB,MAAM,EAAE+M,GAAGz6B,EAAEjB,EAAEG,GAAG,OAAOk7B,GAAGp6B,EAAEjB,EAAEG,EAAE,CAwE7GmmC,CAAGrlC,EAAEjB,EAAEG,GAAGyuB,GAAG,KAAa,OAAR3tB,EAAEwP,MAAmB,MAAMme,IAAG,EAAGnC,IAAG,KAAa,QAARzsB,EAAEyQ,QAAgB2b,GAAGpsB,EAAE6rB,GAAG7rB,EAAEgzB,OAAiB,OAAVhzB,EAAE2uB,MAAM,EAAS3uB,EAAEjD,KAAK,KAAK,EAAE,IAAIqD,EAAEJ,EAAE9B,KAAKg+B,GAAGj7B,EAAEjB,GAAGiB,EAAEjB,EAAEgtB,aAAa,IAAIt/B,EAAEg9B,GAAG1qB,EAAEuqB,GAAEtZ,SAASud,GAAGxuB,EAAEG,GAAGzS,EAAE0nC,GAAG,KAAKp1B,EAAEI,EAAEa,EAAEvT,EAAEyS,GAAG,IAAIxS,EAAE8nC,KACvI,OAD4Iz1B,EAAEyQ,OAAO,EAAE,kBAAkB/iB,GAAG,OAAOA,GAAG,oBAAoBA,EAAEoR,aAAQ,IAASpR,EAAEyT,UAAUnB,EAAEjD,IAAI,EAAEiD,EAAE2Q,cAAc,KAAK3Q,EAAEwvB,YAC1e,KAAK3E,GAAGzqB,IAAIzS,GAAE,EAAGu9B,GAAGlrB,IAAIrS,GAAE,EAAGqS,EAAE2Q,cAAc,OAAOjjB,EAAEmkC,YAAO,IAASnkC,EAAEmkC,MAAMnkC,EAAEmkC,MAAM,KAAKtC,GAAGvvB,GAAGtS,EAAEokC,QAAQd,GAAGhxB,EAAEiP,UAAUvhB,EAAEA,EAAEwjC,gBAAgBlxB,EAAEkyB,GAAGlyB,EAAEI,EAAEa,EAAEd,GAAGH,EAAEs8B,GAAG,KAAKt8B,EAAEI,GAAE,EAAGzS,EAAEwS,KAAKH,EAAEjD,IAAI,EAAE0vB,IAAG9+B,GAAG0+B,GAAGrsB,GAAGm7B,GAAG,KAAKn7B,EAAEtS,EAAEyS,GAAGH,EAAEA,EAAE+Q,OAAc/Q,EAAE,KAAK,GAAGI,EAAEJ,EAAE6sB,YAAY5rB,EAAE,CAAqF,OAApFi7B,GAAGj7B,EAAEjB,GAAGiB,EAAEjB,EAAEgtB,aAAuB5sB,GAAV1S,EAAE0S,EAAE0G,OAAU1G,EAAEyG,UAAU7G,EAAE9B,KAAKkC,EAAE1S,EAAEsS,EAAEjD,IAQtU,SAAYkE,GAAG,GAAG,oBAAoBA,EAAE,OAAOs6B,GAAGt6B,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAEE,YAAgBqE,EAAG,OAAO,GAAG,GAAGvE,IAAI0E,EAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAR2L4gC,CAAGnmC,GAAGa,EAAE6sB,GAAG1tB,EAAEa,GAAUvT,GAAG,KAAK,EAAEsS,EAAEy7B,GAAG,KAAKz7B,EAAEI,EAAEa,EAAEd,GAAG,MAAMc,EAAE,KAAK,EAAEjB,EAAEi8B,GAAG,KAAKj8B,EAAEI,EAAEa,EAAEd,GAAG,MAAMc,EAAE,KAAK,GAAGjB,EAAEo7B,GAAG,KAAKp7B,EAAEI,EAAEa,EAAEd,GAAG,MAAMc,EAAE,KAAK,GAAGjB,EAAEs7B,GAAG,KAAKt7B,EAAEI,EAAE0tB,GAAG1tB,EAAElC,KAAK+C,GAAGd,GAAG,MAAMc,EAAE,MAAMmF,MAAM3F,EAAE,IACvgBL,EAAE,IAAK,CAAC,OAAOJ,EAAE,KAAK,EAAE,OAAOI,EAAEJ,EAAE9B,KAAKxQ,EAAEsS,EAAEgtB,aAA2CyO,GAAGx6B,EAAEjB,EAAEI,EAArC1S,EAAEsS,EAAE6sB,cAAczsB,EAAE1S,EAAEogC,GAAG1tB,EAAE1S,GAAcyS,GAAG,KAAK,EAAE,OAAOC,EAAEJ,EAAE9B,KAAKxQ,EAAEsS,EAAEgtB,aAA2CiP,GAAGh7B,EAAEjB,EAAEI,EAArC1S,EAAEsS,EAAE6sB,cAAczsB,EAAE1S,EAAEogC,GAAG1tB,EAAE1S,GAAcyS,GAAG,KAAK,EAAEc,EAAE,CAAO,GAANs7B,GAAGv8B,GAAM,OAAOiB,EAAE,MAAMmF,MAAM3F,EAAE,MAAML,EAAEJ,EAAEgtB,aAA+Bt/B,GAAlBC,EAAEqS,EAAE2Q,eAAkBjkB,QAAQqjC,GAAG9uB,EAAEjB,GAAGywB,GAAGzwB,EAAEI,EAAE,KAAKD,GAAG,IAAIE,EAAEL,EAAE2Q,cAA0B,GAAZvQ,EAAEC,EAAE3T,QAAWiB,EAAEqoB,aAAY,CAAC,GAAGroB,EAAE,CAACjB,QAAQ0T,EAAE4V,cAAa,EAAG8vB,MAAMzlC,EAAEylC,MAAMC,0BAA0B1lC,EAAE0lC,0BAA0BlK,YAAYx7B,EAAEw7B,aAAa77B,EAAEwvB,YAAYC,UAChf9hC,EAAEqS,EAAE2Q,cAAchjB,EAAU,IAARqS,EAAEyQ,MAAU,CAAuBzQ,EAAEy8B,GAAGx7B,EAAEjB,EAAEI,EAAED,EAAjCzS,EAAEmsC,GAAGzzB,MAAM3F,EAAE,MAAMT,IAAmB,MAAMiB,CAAC,CAAM,GAAGb,IAAI1S,EAAE,CAAuBsS,EAAEy8B,GAAGx7B,EAAEjB,EAAEI,EAAED,EAAjCzS,EAAEmsC,GAAGzzB,MAAM3F,EAAE,MAAMT,IAAmB,MAAMiB,CAAC,CAAM,IAAIurB,GAAG/C,GAAGzpB,EAAEiP,UAAUgH,cAAc5Z,YAAYkwB,GAAGvsB,EAAEysB,IAAE,EAAGC,GAAG,KAAKvsB,EAAEozB,GAAGvzB,EAAE,KAAKI,EAAED,GAAGH,EAAE+Q,MAAM5Q,EAAEA,GAAGA,EAAEsQ,OAAe,EAATtQ,EAAEsQ,MAAS,KAAKtQ,EAAEA,EAAE6Q,OAAQ,KAAI,CAAM,GAAL2c,KAAQvtB,IAAI1S,EAAE,CAACsS,EAAEq7B,GAAGp6B,EAAEjB,EAAEG,GAAG,MAAMc,CAAC,CAACk6B,GAAGl6B,EAAEjB,EAAEI,EAAED,EAAE,CAACH,EAAEA,EAAE+Q,KAAK,CAAC,OAAO/Q,EAAE,KAAK,EAAE,OAAO+zB,GAAG/zB,GAAG,OAAOiB,GAAGqsB,GAAGttB,GAAGI,EAAEJ,EAAE9B,KAAKxQ,EAAEsS,EAAEgtB,aAAar/B,EAAE,OAAOsT,EAAEA,EAAEwsB,cAAc,KAAKptB,EAAE3S,EAAEwb,SAASwf,GAAGtoB,EAAE1S,GAAG2S,EAAE,KAAK,OAAO1S,GAAG+6B,GAAGtoB,EAAEzS,KAAKqS,EAAEyQ,OAAO,IACnfurB,GAAG/6B,EAAEjB,GAAGm7B,GAAGl6B,EAAEjB,EAAEK,EAAEF,GAAGH,EAAE+Q,MAAM,KAAK,EAAE,OAAO,OAAO9P,GAAGqsB,GAAGttB,GAAG,KAAK,KAAK,GAAG,OAAOg9B,GAAG/7B,EAAEjB,EAAEG,GAAG,KAAK,EAAE,OAAO0zB,GAAG7zB,EAAEA,EAAEiP,UAAUgH,eAAe7V,EAAEJ,EAAEgtB,aAAa,OAAO/rB,EAAEjB,EAAE+Q,MAAMuiB,GAAGtzB,EAAE,KAAKI,EAAED,GAAGg7B,GAAGl6B,EAAEjB,EAAEI,EAAED,GAAGH,EAAE+Q,MAAM,KAAK,GAAG,OAAO3Q,EAAEJ,EAAE9B,KAAKxQ,EAAEsS,EAAEgtB,aAA2CoO,GAAGn6B,EAAEjB,EAAEI,EAArC1S,EAAEsS,EAAE6sB,cAAczsB,EAAE1S,EAAEogC,GAAG1tB,EAAE1S,GAAcyS,GAAG,KAAK,EAAE,OAAOg7B,GAAGl6B,EAAEjB,EAAEA,EAAEgtB,aAAa7sB,GAAGH,EAAE+Q,MAAM,KAAK,EAAmD,KAAK,GAAG,OAAOoqB,GAAGl6B,EAAEjB,EAAEA,EAAEgtB,aAAa9jB,SAAS/I,GAAGH,EAAE+Q,MAAM,KAAK,GAAG9P,EAAE,CACxZ,GADyZb,EAAEJ,EAAE9B,KAAK0I,SAASlZ,EAAEsS,EAAEgtB,aAAar/B,EAAEqS,EAAEytB,cAClfptB,EAAE3S,EAAEH,MAAM88B,GAAE0D,GAAG3tB,EAAEiuB,eAAejuB,EAAEiuB,cAAchuB,EAAK,OAAO1S,EAAE,GAAGs0B,GAAGt0B,EAAEJ,MAAM8S,IAAI,GAAG1S,EAAEub,WAAWxb,EAAEwb,WAAWshB,GAAGvZ,QAAQ,CAACjR,EAAEq7B,GAAGp6B,EAAEjB,EAAEG,GAAG,MAAMc,CAAC,OAAO,IAAc,QAAVtT,EAAEqS,EAAE+Q,SAAiBpjB,EAAE6iB,OAAOxQ,GAAG,OAAOrS,GAAG,CAAC,IAAI2S,EAAE3S,EAAE8gC,aAAa,GAAG,OAAOnuB,EAAE,CAACD,EAAE1S,EAAEojB,MAAM,IAAI,IAAIxQ,EAAED,EAAEouB,aAAa,OAAOnuB,GAAG,CAAC,GAAGA,EAAEuuB,UAAU1uB,EAAE,CAAC,GAAG,IAAIzS,EAAEoP,IAAI,EAACwD,EAAEyvB,IAAI,EAAE7vB,GAAGA,IAAKpD,IAAI,EAAE,IAAItQ,EAAEkB,EAAE6hC,YAAY,GAAG,OAAO/iC,EAAE,CAAY,IAAI+T,GAAf/T,EAAEA,EAAEmjC,QAAeC,QAAQ,OAAOrvB,EAAED,EAAEyuB,KAAKzuB,GAAGA,EAAEyuB,KAAKxuB,EAAEwuB,KAAKxuB,EAAEwuB,KAAKzuB,GAAG9T,EAAEojC,QAAQtvB,CAAC,CAAC,CAAC5S,EAAEghC,OAAOxuB,EAAgB,QAAdI,EAAE5S,EAAE4iB,aAAqBhQ,EAAEouB,OAAOxuB,GAAGmuB,GAAG3gC,EAAE6iB,OAClfrQ,EAAEH,GAAGM,EAAEquB,OAAOxuB,EAAE,KAAK,CAACI,EAAEA,EAAEyuB,IAAI,CAAC,MAAM,GAAG,KAAKrhC,EAAEoP,IAAIsD,EAAE1S,EAAEuQ,OAAO8B,EAAE9B,KAAK,KAAKvQ,EAAEojB,WAAW,GAAG,KAAKpjB,EAAEoP,IAAI,CAAY,GAAG,QAAdsD,EAAE1S,EAAE6iB,QAAmB,MAAMpK,MAAM3F,EAAE,MAAMJ,EAAEsuB,OAAOxuB,EAAgB,QAAdG,EAAED,EAAEkQ,aAAqBjQ,EAAEquB,OAAOxuB,GAAGmuB,GAAGjuB,EAAEF,EAAEH,GAAGK,EAAE1S,EAAEqjB,OAAO,MAAM3Q,EAAE1S,EAAEojB,MAAM,GAAG,OAAO1Q,EAAEA,EAAEmQ,OAAO7iB,OAAO,IAAI0S,EAAE1S,EAAE,OAAO0S,GAAG,CAAC,GAAGA,IAAIL,EAAE,CAACK,EAAE,KAAK,KAAK,CAAa,GAAG,QAAf1S,EAAE0S,EAAE2Q,SAAoB,CAACrjB,EAAE6iB,OAAOnQ,EAAEmQ,OAAOnQ,EAAE1S,EAAE,KAAK,CAAC0S,EAAEA,EAAEmQ,MAAM,CAAC7iB,EAAE0S,CAAC,CAAC86B,GAAGl6B,EAAEjB,EAAEtS,EAAEwb,SAAS/I,GAAGH,EAAEA,EAAE+Q,KAAK,CAAC,OAAO/Q,EAAE,KAAK,EAAE,OAAOtS,EAAEsS,EAAE9B,KAAKkC,EAAEJ,EAAEgtB,aAAa9jB,SAASslB,GAAGxuB,EAAEG,GAAWC,EAAEA,EAAV1S,EAAEmhC,GAAGnhC,IAAUsS,EAAEyQ,OAAO,EAAE0qB,GAAGl6B,EAAEjB,EAAEI,EAAED,GACpfH,EAAE+Q,MAAM,KAAK,GAAG,OAAgBrjB,EAAEogC,GAAX1tB,EAAEJ,EAAE9B,KAAY8B,EAAEgtB,cAA6BsO,GAAGr6B,EAAEjB,EAAEI,EAAtB1S,EAAEogC,GAAG1tB,EAAElC,KAAKxQ,GAAcyS,GAAG,KAAK,GAAG,OAAOq7B,GAAGv6B,EAAEjB,EAAEA,EAAE9B,KAAK8B,EAAEgtB,aAAa7sB,GAAG,KAAK,GAAG,OAAOC,EAAEJ,EAAE9B,KAAKxQ,EAAEsS,EAAEgtB,aAAat/B,EAAEsS,EAAE6sB,cAAczsB,EAAE1S,EAAEogC,GAAG1tB,EAAE1S,GAAGwuC,GAAGj7B,EAAEjB,GAAGA,EAAEjD,IAAI,EAAE8tB,GAAGzqB,IAAIa,GAAE,EAAGiqB,GAAGlrB,IAAIiB,GAAE,EAAGutB,GAAGxuB,EAAEG,GAAGyxB,GAAG5xB,EAAEI,EAAE1S,GAAGwkC,GAAGlyB,EAAEI,EAAE1S,EAAEyS,GAAGm8B,GAAG,KAAKt8B,EAAEI,GAAE,EAAGa,EAAEd,GAAG,KAAK,GAAG,OAAOi+B,GAAGn9B,EAAEjB,EAAEG,GAAG,KAAK,GAAG,OAAOu7B,GAAGz6B,EAAEjB,EAAEG,GAAG,MAAMiG,MAAM3F,EAAE,IAAIT,EAAEjD,KAAM,EAYxC,IAAIypC,GAAG,oBAAoBC,YAAYA,YAAY,SAASxlC,GAAGhT,QAAQisC,MAAMj5B,EAAE,EAAE,SAASylC,GAAGzlC,GAAG2C,KAAK+iC,cAAc1lC,CAAC,CACjI,SAAS2lC,GAAG3lC,GAAG2C,KAAK+iC,cAAc1lC,CAAC,CAC5J,SAAS4lC,GAAG5lC,GAAG,SAASA,GAAG,IAAIA,EAAEnQ,UAAU,IAAImQ,EAAEnQ,UAAU,KAAKmQ,EAAEnQ,SAAS,CAAC,SAASg2C,GAAG7lC,GAAG,SAASA,GAAG,IAAIA,EAAEnQ,UAAU,IAAImQ,EAAEnQ,UAAU,KAAKmQ,EAAEnQ,WAAW,IAAImQ,EAAEnQ,UAAU,iCAAiCmQ,EAAE8I,WAAW,CAAC,SAASg9B,KAAK,CAExa,SAASC,GAAG/lC,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,IAAIC,EAAEwS,EAAEkgC,oBAAoB,GAAG1yC,EAAE,CAAC,IAAI0S,EAAE1S,EAAE,GAAG,oBAAoBD,EAAE,CAAC,IAAI4S,EAAE5S,EAAEA,EAAE,WAAW,IAAIuT,EAAEklC,GAAG9lC,GAAGC,EAAE9G,KAAKyH,EAAE,CAAC,CAACilC,GAAGlmC,EAAEK,EAAEY,EAAEvT,EAAE,MAAM2S,EADxJ,SAAYY,EAAEjB,EAAEG,EAAEC,EAAE1S,GAAG,GAAGA,EAAE,CAAC,GAAG,oBAAoB0S,EAAE,CAAC,IAAIzS,EAAEyS,EAAEA,EAAE,WAAW,IAAIa,EAAEklC,GAAG9lC,GAAG1S,EAAE6L,KAAKyH,EAAE,CAAC,CAAC,IAAIZ,EAAE4lC,GAAGjmC,EAAEI,EAAEa,EAAE,EAAE,MAAK,EAAG,EAAG,GAAG8lC,IAAmF,OAA/E9lC,EAAEo/B,oBAAoBhgC,EAAEY,EAAEsmB,IAAIlnB,EAAE4Q,QAAQ+V,GAAG,IAAI/lB,EAAEnQ,SAASmQ,EAAEjJ,WAAWiJ,GAAGyjC,KAAYrkC,CAAC,CAAC,KAAK3S,EAAEuT,EAAE6I,WAAW7I,EAAEhJ,YAAYvK,GAAG,GAAG,oBAAoB0S,EAAE,CAAC,IAAIE,EAAEF,EAAEA,EAAE,WAAW,IAAIa,EAAEklC,GAAG5lC,GAAGD,EAAE9G,KAAKyH,EAAE,CAAC,CAAC,IAAIV,EAAEslC,GAAG5kC,EAAE,GAAE,EAAG,KAAK,GAAK,EAAG,EAAG,GAAG8lC,IAA0G,OAAtG9lC,EAAEo/B,oBAAoB9/B,EAAEU,EAAEsmB,IAAIhnB,EAAE0Q,QAAQ+V,GAAG,IAAI/lB,EAAEnQ,SAASmQ,EAAEjJ,WAAWiJ,GAAGyjC,IAAG,WAAWwB,GAAGlmC,EAAEO,EAAEJ,EAAEC,EAAE,IAAUG,CAAC,CACpU0mC,CAAG9mC,EAAEH,EAAEiB,EAAEvT,EAAE0S,GAAG,OAAO+lC,GAAG9lC,EAAE,CAHpLumC,GAAGx8C,UAAU0U,OAAO4nC,GAAGt8C,UAAU0U,OAAO,SAASmC,GAAG,IAAIjB,EAAE4D,KAAK+iC,cAAc,GAAG,OAAO3mC,EAAE,MAAMoG,MAAM3F,EAAE,MAAMylC,GAAGjlC,EAAEjB,EAAE,KAAK,KAAK,EAAE4mC,GAAGx8C,UAAU88C,QAAQR,GAAGt8C,UAAU88C,QAAQ,WAAW,IAAIjmC,EAAE2C,KAAK+iC,cAAc,GAAG,OAAO1lC,EAAE,CAAC2C,KAAK+iC,cAAc,KAAK,IAAI3mC,EAAEiB,EAAEgV,cAAcyuB,IAAG,WAAWwB,GAAG,KAAKjlC,EAAE,KAAK,KAAK,IAAGjB,EAAEunB,IAAI,IAAI,CAAC,EACzTqf,GAAGx8C,UAAU+8C,2BAA2B,SAASlmC,GAAG,GAAGA,EAAE,CAAC,IAAIjB,EAAEwU,KAAKvT,EAAE,CAACwU,UAAU,KAAKhH,OAAOxN,EAAE8U,SAAS/V,GAAG,IAAI,IAAIG,EAAE,EAAEA,EAAE+U,GAAGjpB,QAAQ,IAAI+T,GAAGA,EAAEkV,GAAG/U,GAAG4V,SAAS5V,KAAK+U,GAAGkyB,OAAOjnC,EAAE,EAAEc,GAAG,IAAId,GAAG0V,GAAG5U,EAAE,CAAC,EAEXoT,GAAG,SAASpT,GAAG,OAAOA,EAAElE,KAAK,KAAK,EAAE,IAAIiD,EAAEiB,EAAEgO,UAAU,GAAGjP,EAAEiR,QAAQN,cAAcqF,aAAa,CAAC,IAAI7V,EAAEkT,GAAGrT,EAAEuT,cAAc,IAAIpT,IAAI+T,GAAGlU,EAAI,EAAFG,GAAKgjC,GAAGnjC,EAAE4R,MAAK,KAAO,EAAF0e,MAAO4O,GAAGttB,KAAI,IAAI6Z,MAAM,CAAC,MAAM,KAAK,GAAGiZ,IAAG,WAAW,IAAI1kC,EAAEqvB,GAAGpuB,EAAE,GAAG,GAAG,OAAOjB,EAAE,CAAC,IAAIG,EAAEixB,KAAIE,GAAGtxB,EAAEiB,EAAE,EAAEd,EAAE,CAAC,IAAGkmC,GAAGplC,EAAE,GAAG,EAC/bqT,GAAG,SAASrT,GAAG,GAAG,KAAKA,EAAElE,IAAI,CAAC,IAAIiD,EAAEqvB,GAAGpuB,EAAE,WAAW,GAAG,OAAOjB,EAAasxB,GAAGtxB,EAAEiB,EAAE,UAAXmwB,MAAwBiV,GAAGplC,EAAE,UAAU,CAAC,EAAEsT,GAAG,SAAStT,GAAG,GAAG,KAAKA,EAAElE,IAAI,CAAC,IAAIiD,EAAEqxB,GAAGpwB,GAAGd,EAAEkvB,GAAGpuB,EAAEjB,GAAG,GAAG,OAAOG,EAAamxB,GAAGnxB,EAAEc,EAAEjB,EAAXoxB,MAAgBiV,GAAGplC,EAAEjB,EAAE,CAAC,EAAEwU,GAAG,WAAW,OAAOL,EAAC,EAAEM,GAAG,SAASxT,EAAEjB,GAAG,IAAIG,EAAEgU,GAAE,IAAI,OAAOA,GAAElT,EAAEjB,GAAG,CAAC,QAAQmU,GAAEhU,CAAC,CAAC,EAClSyO,GAAG,SAAS3N,EAAEjB,EAAEG,GAAG,OAAOH,GAAG,IAAK,QAAyB,GAAjBsI,EAAGrH,EAAEd,GAAGH,EAAEG,EAAE/H,KAAQ,UAAU+H,EAAEjC,MAAM,MAAM8B,EAAE,CAAC,IAAIG,EAAEc,EAAEd,EAAEnI,YAAYmI,EAAEA,EAAEnI,WAAsF,IAA3EmI,EAAEA,EAAEknC,iBAAiB,cAAcC,KAAKC,UAAU,GAAGvnC,GAAG,mBAAuBA,EAAE,EAAEA,EAAEG,EAAElU,OAAO+T,IAAI,CAAC,IAAII,EAAED,EAAEH,GAAG,GAAGI,IAAIa,GAAGb,EAAEonC,OAAOvmC,EAAEumC,KAAK,CAAC,IAAI95C,EAAEwhB,GAAG9O,GAAG,IAAI1S,EAAE,MAAM0Y,MAAM3F,EAAE,KAAKgH,EAAGrH,GAAGkI,EAAGlI,EAAE1S,EAAE,CAAC,CAAC,CAAC,MAAM,IAAK,WAAW0b,GAAGnI,EAAEd,GAAG,MAAM,IAAK,SAAmB,OAAVH,EAAEG,EAAE5S,QAAeob,GAAG1H,IAAId,EAAEu+B,SAAS1+B,GAAE,GAAI,EAAEqP,GAAGo1B,GAAGn1B,GAAGo1B,GACpa,IAAI+C,GAAG,CAACC,uBAAsB,EAAGC,OAAO,CAAC34B,GAAGkS,GAAGhS,GAAGC,GAAGC,GAAGq1B,KAAKmD,GAAG,CAACC,wBAAwB/xB,GAAGgyB,WAAW,EAAEl3C,QAAQ,SAASm3C,oBAAoB,aAC1IC,GAAG,CAACF,WAAWF,GAAGE,WAAWl3C,QAAQg3C,GAAGh3C,QAAQm3C,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,gBAAgB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqB5jC,EAAGyvB,uBAAuBoU,wBAAwB,SAAS3nC,GAAW,OAAO,QAAfA,EAAE6P,GAAG7P,IAAmB,KAAKA,EAAEgO,SAAS,EAAE44B,wBAAwBD,GAAGC,yBARjN,WAAc,OAAO,IAAI,EASpUgB,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,KAAKC,kBAAkB,kCAAkC,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAGC,YAAYD,GAAGE,cAAc,IAAI52B,GAAG02B,GAAGG,OAAOvB,IAAIr1B,GAAGy2B,EAAE,CAAC,MAAMnoC,IAAG,CAAC,CAAC5B,EAAQ2F,mDAAmDyiC,GAC9YpoC,EAAQmqC,aAAa,SAASvoC,EAAEjB,GAAG,IAAIG,EAAE,EAAEnU,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAI66C,GAAG7mC,GAAG,MAAMoG,MAAM3F,EAAE,MAAM,OAbuH,SAAYQ,EAAEjB,EAAEG,GAAG,IAAIC,EAAE,EAAEpU,UAAUC,aAAQ,IAASD,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAACmV,SAAS+D,EAAGpF,IAAI,MAAMM,EAAE,KAAK,GAAGA,EAAE8I,SAASjI,EAAEgV,cAAcjW,EAAEzN,eAAe4N,EAAE,CAa1RspC,CAAGxoC,EAAEjB,EAAE,KAAKG,EAAE,EAAEd,EAAQqqC,WAAW,SAASzoC,EAAEjB,GAAG,IAAI6mC,GAAG5lC,GAAG,MAAMmF,MAAM3F,EAAE,MAAM,IAAIN,GAAE,EAAGC,EAAE,GAAG1S,EAAE84C,GAA4P,OAAzP,OAAOxmC,QAAG,IAASA,KAAI,IAAKA,EAAE2pC,sBAAsBxpC,GAAE,QAAI,IAASH,EAAE45B,mBAAmBx5B,EAAEJ,EAAE45B,uBAAkB,IAAS55B,EAAEmlC,qBAAqBz3C,EAAEsS,EAAEmlC,qBAAqBnlC,EAAE6lC,GAAG5kC,EAAE,GAAE,EAAG,KAAK,EAAKd,EAAE,EAAGC,EAAE1S,GAAGuT,EAAEsmB,IAAIvnB,EAAEiR,QAAQ+V,GAAG,IAAI/lB,EAAEnQ,SAASmQ,EAAEjJ,WAAWiJ,GAAU,IAAIylC,GAAG1mC,EAAE,EACrfX,EAAQuqC,YAAY,SAAS3oC,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEnQ,SAAS,OAAOmQ,EAAE,IAAIjB,EAAEiB,EAAEiwB,gBAAgB,QAAG,IAASlxB,EAAE,CAAC,GAAG,oBAAoBiB,EAAEnC,OAAO,MAAMsH,MAAM3F,EAAE,MAAiC,MAA3BQ,EAAEnY,OAAO6W,KAAKsB,GAAG4xB,KAAK,KAAWzsB,MAAM3F,EAAE,IAAIQ,GAAI,CAAqC,OAA5BA,EAAE,QAAVA,EAAE6P,GAAG9Q,IAAc,KAAKiB,EAAEgO,SAAkB,EAAE5P,EAAQwqC,UAAU,SAAS5oC,GAAG,OAAOyjC,GAAGzjC,EAAE,EAAE5B,EAAQyqC,QAAQ,SAAS7oC,EAAEjB,EAAEG,GAAG,IAAI2mC,GAAG9mC,GAAG,MAAMoG,MAAM3F,EAAE,MAAM,OAAOumC,GAAG,KAAK/lC,EAAEjB,GAAE,EAAGG,EAAE,EAC/Yd,EAAQ0qC,YAAY,SAAS9oC,EAAEjB,EAAEG,GAAG,IAAI0mC,GAAG5lC,GAAG,MAAMmF,MAAM3F,EAAE,MAAM,IAAIL,EAAE,MAAMD,GAAGA,EAAE6pC,iBAAiB,KAAKt8C,GAAE,EAAGC,EAAE,GAAG0S,EAAEmmC,GAAyO,GAAtO,OAAOrmC,QAAG,IAASA,KAAI,IAAKA,EAAEwpC,sBAAsBj8C,GAAE,QAAI,IAASyS,EAAEy5B,mBAAmBjsC,EAAEwS,EAAEy5B,uBAAkB,IAASz5B,EAAEglC,qBAAqB9kC,EAAEF,EAAEglC,qBAAqBnlC,EAAEimC,GAAGjmC,EAAE,KAAKiB,EAAE,EAAE,MAAMd,EAAEA,EAAE,KAAKzS,EAAE,EAAGC,EAAE0S,GAAGY,EAAEsmB,IAAIvnB,EAAEiR,QAAQ+V,GAAG/lB,GAAMb,EAAE,IAAIa,EAAE,EAAEA,EAAEb,EAAEnU,OAAOgV,IAA2BvT,GAAhBA,GAAPyS,EAAEC,EAAEa,IAAOgpC,aAAgB9pC,EAAE+pC,SAAS,MAAMlqC,EAAE4lC,gCAAgC5lC,EAAE4lC,gCAAgC,CAACzlC,EAAEzS,GAAGsS,EAAE4lC,gCAAgCn7C,KAAK0V,EACvhBzS,GAAG,OAAO,IAAIk5C,GAAG5mC,EAAE,EAAEX,EAAQP,OAAO,SAASmC,EAAEjB,EAAEG,GAAG,IAAI2mC,GAAG9mC,GAAG,MAAMoG,MAAM3F,EAAE,MAAM,OAAOumC,GAAG,KAAK/lC,EAAEjB,GAAE,EAAGG,EAAE,EAAEd,EAAQ8qC,uBAAuB,SAASlpC,GAAG,IAAI6lC,GAAG7lC,GAAG,MAAMmF,MAAM3F,EAAE,KAAK,QAAOQ,EAAEo/B,sBAAqBqE,IAAG,WAAWsC,GAAG,KAAK,KAAK/lC,GAAE,GAAG,WAAWA,EAAEo/B,oBAAoB,KAAKp/B,EAAEsmB,IAAI,IAAI,GAAE,KAAG,EAAM,EAAEloB,EAAQ+qC,wBAAwB3F,GAC/UplC,EAAQgrC,oCAAoC,SAASppC,EAAEjB,EAAEG,EAAEC,GAAG,IAAI0mC,GAAG3mC,GAAG,MAAMiG,MAAM3F,EAAE,MAAM,GAAG,MAAMQ,QAAG,IAASA,EAAEiwB,gBAAgB,MAAM9qB,MAAM3F,EAAE,KAAK,OAAOumC,GAAG/lC,EAAEjB,EAAEG,GAAE,EAAGC,EAAE,EAAEf,EAAQzO,QAAQ,mEChU7L,IAAI4P,EAAIlD,EAAQ,KAEd+B,EAAQqqC,WAAalpC,EAAEkpC,WACvBrqC,EAAQ0qC,YAAcvpC,EAAEupC,+CCH1B,SAASO,IAEP,GAC4C,qBAAnCnB,gCAC4C,oBAA5CA,+BAA+BmB,SAcxC,IAEEnB,+BAA+BmB,SAASA,EAC1C,CAAE,MAAO78C,GAGPQ,QAAQisC,MAAMzsC,EAChB,CACF,CAKE68C,GACAlrC,EAAOC,QAAU,EAAjBD,0BClC+DA,EAAOC,QAAyL,SAAS3R,GAAG,OAAO,WAAK,IAAIkT,EAAE,CAAC,IAAI,SAAClT,EAAEkT,EAAEzT,GAAK,aAAa,IAAI0N,EAAE1N,EAAE,KAAK,SAASwT,IAAI,CAAC,SAASM,IAAI,CAACA,EAAEspC,kBAAkB5pC,EAAEjT,EAAE2R,QAAQ,WAAW,SAAS3R,EAAEA,EAAEkT,EAAEzT,EAAEwT,EAAEM,EAAE/T,GAAG,GAAGA,IAAI2N,EAAE,CAAC,IAAI2vC,EAAE,IAAIpkC,MAAM,mLAAmL,MAAMokC,EAAEpyC,KAAK,sBAAsBoyC,CAAC,CAAC,CAAC,SAAS5pC,IAAI,OAAOlT,CAAC,CAACA,EAAE+8C,WAAW/8C,EAAE,IAAIP,EAAE,CAACZ,MAAMmB,EAAEg9C,KAAKh9C,EAAE7B,KAAK6B,EAAEsyB,OAAOtyB,EAAEb,OAAOa,EAAEi9C,OAAOj9C,EAAEk9C,OAAOl9C,EAAEm9C,IAAIn9C,EAAEo9C,QAAQlqC,EAAElU,QAAQgB,EAAEm/B,YAAYn/B,EAAEq9C,WAAWnqC,EAAE7I,KAAKrK,EAAEs9C,SAASpqC,EAAEqqC,MAAMrqC,EAAEsqC,UAAUtqC,EAAEuqC,MAAMvqC,EAAEwqC,MAAMxqC,EAAEyqC,eAAepqC,EAAEspC,kBAAkB5pC,GAAG,OAAOxT,EAAEm+C,UAAUn+C,EAAEA,CAAC,CAAC,EAAE,IAAI,SAACO,EAAEkT,EAAEzT,GAAKO,EAAE2R,QAAQlS,EAAE,IAAFA,EAAQ,EAAE,IAAI,SAAAO,GAAI,aAAaA,EAAE2R,QAAQ,8CAA8C,EAAE,IAAI,SAAA3R,GAAI,IAAIkT,EAAE,oBAAoBxP,QAAQjE,EAAE,mBAAmB6nB,IAAIna,EAAE,mBAAmBoI,IAAItC,EAAE,mBAAmB4qC,eAAeA,YAAYC,OAAO,SAASvqC,EAAEvT,EAAER,GAAG,GAAGQ,IAAIR,EAAE,OAAM,EAAG,GAAGQ,GAAGR,GAAG,iBAAiBQ,GAAG,iBAAiBR,EAAE,CAAC,GAAGQ,EAAE0Z,cAAcla,EAAEka,YAAY,OAAM,EAAG,IAAIojC,EAAE/9C,EAAEyU,EAAEf,EAAE,GAAGhW,MAAMue,QAAQhb,GAAG,CAAC,IAAI88C,EAAE98C,EAAEzB,SAASiB,EAAEjB,OAAO,OAAM,EAAG,IAAIQ,EAAE+9C,EAAE,GAAG/9C,KAAK,IAAIwU,EAAEvT,EAAEjB,GAAGS,EAAET,IAAI,OAAM,EAAG,OAAM,CAAE,CAAC,GAAGU,GAAGO,aAAasnB,KAAK9nB,aAAa8nB,IAAI,CAAC,GAAGtnB,EAAEoxC,OAAO5xC,EAAE4xC,KAAK,OAAM,EAAG,IAAI3+B,EAAEzS,EAAE7E,YAAY4D,EAAE0T,EAAE6uB,QAAQ5hC,MAAM,IAAIF,EAAEy5B,IAAIl6B,EAAEc,MAAM,IAAI,OAAM,EAAG,IAAI4S,EAAEzS,EAAE7E,YAAY4D,EAAE0T,EAAE6uB,QAAQ5hC,MAAM,IAAI6T,EAAExU,EAAEc,MAAM,GAAGL,EAAEa,IAAItB,EAAEc,MAAM,KAAK,OAAM,EAAG,OAAM,CAAE,CAAC,GAAGsN,GAAGnN,aAAauV,KAAK/V,aAAa+V,IAAI,CAAC,GAAGvV,EAAEoxC,OAAO5xC,EAAE4xC,KAAK,OAAM,EAAG,IAAI3+B,EAAEzS,EAAE7E,YAAY4D,EAAE0T,EAAE6uB,QAAQ5hC,MAAM,IAAIF,EAAEy5B,IAAIl6B,EAAEc,MAAM,IAAI,OAAM,EAAG,OAAM,CAAE,CAAC,GAAGoT,GAAG4qC,YAAYC,OAAO99C,IAAI69C,YAAYC,OAAOt+C,GAAG,CAAC,IAAIs9C,EAAE98C,EAAEzB,SAASiB,EAAEjB,OAAO,OAAM,EAAG,IAAIQ,EAAE+9C,EAAE,GAAG/9C,KAAK,GAAGiB,EAAEjB,KAAKS,EAAET,GAAG,OAAM,EAAG,OAAM,CAAE,CAAC,GAAGiB,EAAE0Z,cAAc5b,OAAO,OAAOkC,EAAEugB,SAAS/gB,EAAE+gB,QAAQvgB,EAAE+iB,QAAQvjB,EAAEujB,MAAM,GAAG/iB,EAAEgc,UAAU5gB,OAAOsB,UAAUsf,QAAQ,OAAOhc,EAAEgc,YAAYxc,EAAEwc,UAAU,GAAGhc,EAAE5C,WAAWhC,OAAOsB,UAAUU,SAAS,OAAO4C,EAAE5C,aAAaoC,EAAEpC,WAAW,IAAI0/C,GAAGtpC,EAAEpY,OAAO6W,KAAKjS,IAAIzB,UAAUnD,OAAO6W,KAAKzS,GAAGjB,OAAO,OAAM,EAAG,IAAIQ,EAAE+9C,EAAE,GAAG/9C,KAAK,IAAI3D,OAAOsB,UAAUoZ,eAAehK,KAAKtM,EAAEgU,EAAEzU,IAAI,OAAM,EAAG,GAAGmU,GAAGlT,aAAa0D,QAAQ,OAAM,EAAG,IAAI3E,EAAE+9C,EAAE,GAAG/9C,KAAK,IAAI,WAAWyU,EAAEzU,IAAI,QAAQyU,EAAEzU,IAAI,QAAQyU,EAAEzU,KAAKiB,EAAEyT,YAAYF,EAAEvT,EAAEwT,EAAEzU,IAAIS,EAAEgU,EAAEzU,KAAK,OAAM,EAAG,OAAM,CAAE,CAAC,OAAOiB,GAAGA,GAAGR,GAAGA,CAAC,CAACQ,EAAE2R,QAAQ,SAAS3R,EAAEkT,GAAG,IAAI,OAAOK,EAAEvT,EAAEkT,EAAE,CAAC,MAAMlT,GAAG,IAAIA,EAAEosC,SAAS,IAAI9uC,MAAM,oBAAoB,OAAOiD,QAAQC,KAAK,mDAAkD,EAAG,MAAMR,CAAC,CAAC,CAAC,EAAE,GAAG,SAASA,EAAEkT,EAAEzT,IAAI,SAASO,EAAEkT,GAAG,SAASzT,IAAI,OAAOA,EAAErE,OAAOod,QAAQ,SAASxY,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAIzT,EAAEnB,UAAU4U,GAAG,IAAI,IAAI/F,KAAK1N,EAAErE,OAAOsB,UAAUoZ,eAAehK,KAAKrM,EAAE0N,KAAKnN,EAAEmN,GAAG1N,EAAE0N,GAAG,CAAC,OAAOnN,CAAC,GAAGlE,MAAMoa,KAAK5X,UAAU,CAAC,IAAI6O,EAAE,OAAO8F,EAAE,QAAQM,EAAE,OAAO/T,EAAE,CAACu+C,MAAM,GAAGC,8BAA6B,EAAGC,cAAc,EAAEC,YAAW,EAAGC,YAAW,GAAIrB,EAAE,CAACsB,OAAM,EAAGC,QAAQ,CAAC,EAAE,GAAG5oB,MAAM,EAAE6oB,SAAQ,EAAGC,GAAG,CAAC,EAAE,IAAIx/C,EAAE,YAAYyU,EAAE,UAAU,SAASf,EAAEzS,EAAEkT,GAAG,GAAG,IAAIA,EAAE,OAAOlT,EAAE,IAAIP,EAAE0lB,KAAKq5B,GAAG,IAAItrC,EAAE,MAAM,CAAClT,EAAE,GAAGmlB,KAAKs5B,IAAIh/C,GAAGO,EAAE,GAAGmlB,KAAKu5B,IAAIj/C,GAAGO,EAAE,GAAGmlB,KAAKs5B,IAAIh/C,GAAGO,EAAE,GAAGmlB,KAAKu5B,IAAIj/C,GAAG,CAAC,SAASmT,EAAE5S,EAAEkT,GAAG,IAAI1T,EAAE,SAAS0T,GAAGA,GAAG,YAAYA,GAAGA,EAAEsd,QAAQjyB,OAAO,GAAGyB,GAAG,SAASA,EAAEmN,GAAGA,EAAE+wC,aAAaj8C,SAASigB,iBAAiBnjB,EAAE6T,GAAG3Q,SAASigB,iBAAiB1O,EAAEvT,IAAI,IAAIgT,EAAE,YAAYC,EAAEA,EAAEsd,QAAQ,GAAGtd,EAAEK,EAAEd,EAAE,CAACQ,EAAEmZ,QAAQnZ,EAAEoZ,SAASlf,EAAE8wC,eAAe,OAAOx+C,EAAE,CAAC,EAAEO,EAAE88C,EAAE,CAACuB,QAAQ,GAAGt4C,OAAOwN,GAAGgrC,GAAGhrC,EAAEkiB,MAAMviB,EAAEsY,WAAW,GAAG,GAAG,EAAE5Y,EAAE,SAASM,GAAGlT,GAAG,SAASA,EAAER,GAAG,GAAG,YAAY0T,GAAGA,EAAEsd,QAAQjyB,OAAO,EAAE,OAAOyB,EAAE,IAAI88C,EAAE,YAAY5pC,EAAEA,EAAEsd,QAAQ,GAAGtd,EAAEnU,EAAE0T,EAAE,CAACqqC,EAAE1wB,QAAQ0wB,EAAEzwB,SAAS7sB,EAAEy+C,eAAezqC,EAAEzU,EAAE,GAAG6T,EAAE7T,EAAE,GAAG2T,EAAEc,EAAExT,EAAEu+C,GAAG,GAAGt+C,EAAE2S,EAAE5S,EAAEu+C,GAAG,GAAGxrC,EAAEoS,KAAKw5B,IAAIjsC,GAAGI,EAAEqS,KAAKw5B,IAAI1+C,GAAGkT,GAAGD,EAAEsY,WAAW,GAAGxrB,EAAEy1B,MAAM9iB,EAAEwS,KAAKy5B,KAAK7rC,EAAEA,EAAED,EAAEA,IAAIK,GAAG,GAAGb,EAAE,CAACI,GAAGS,GAAG,GAAGlT,GAAGkT,GAAG,IAAI,GAAGJ,EAAEvT,EAAEu+C,OAAOjrC,EAAEtT,EAAEu+C,QAAQ/9C,EAAEs+C,QAAQ,OAAOt+C,EAAE,IAAIqT,EAAE,SAASrT,EAAEkT,EAAEzT,EAAED,GAAG,OAAOQ,EAAEkT,EAAEzT,EAAE,EAAEwT,EAAE9F,EAAE3N,EAAE,EAAE+T,EAAE,IAAI,CAA/C,CAAiDR,EAAED,EAAEJ,EAAEzS,GAAGmT,EAAE,CAACyrC,KAAK9rC,EAAE+rC,KAAKhsC,EAAE+d,OAAOne,EAAEqe,OAAO9wB,EAAE8+C,IAAI1rC,EAAE4f,MAAM/f,EAAEkrC,MAAMp+C,EAAEo+C,MAAMC,QAAQr+C,EAAEq+C,QAAQW,SAASrsC,EAAEssC,KAAK3sC,GAAG9S,EAAE0/C,WAAW1/C,EAAE0/C,UAAU9rC,GAAG,IAAIm+B,GAAE,EAAG,OAAO/xC,EAAE0/C,WAAW1/C,EAAE2/C,UAAU,WAAW9rC,KAAK7T,KAAK+xC,GAAE,GAAIA,GAAG/xC,EAAEw+C,8BAA8Bx+C,EAAE2+C,YAAYjrC,EAAEqY,YAAYrY,EAAE2X,iBAAiBprB,EAAE,CAAC,EAAEO,EAAE,CAACo+C,OAAM,EAAGgB,UAAUhsC,EAAEkrC,SAAQ,GAAI,GAAG,EAAE5rC,EAAE,SAASQ,GAAGlT,GAAG,SAASA,EAAEmN,GAAG,IAAI8F,EAAE,GAAGjT,EAAEs+C,SAASt+C,EAAEo/C,UAAU,CAACnsC,EAAExT,EAAE,CAAC,EAAEO,EAAEo/C,UAAU,CAACnsB,MAAM/f,IAAI/F,EAAEgyC,UAAUhyC,EAAEgyC,SAASlsC,GAAG,IAAIM,EAAE,WAAWN,EAAE8rC,IAAIxrC,KAAKpG,GAAGA,EAAEoG,GAAGN,EAAE,MAAM9F,EAAEkyC,OAAOlyC,EAAEkyC,MAAM,CAACpsB,MAAM/f,IAAI,OAAOzT,EAAE,CAAC,EAAEO,EAAE88C,EAAE,CAACsC,UAAUnsC,GAAG,GAAG,EAAEhT,EAAE,SAAFA,EAAWD,GAAGiC,SAASkgB,oBAAoBpjB,EAAE6T,GAAG3Q,SAASkgB,oBAAoB3O,EAAEvT,GAAGyS,EAAE1S,EAAE,EAAE+S,EAAE,SAAS/S,EAAEkT,GAAG,IAAIzT,EAAE,WAAW,EAAE,GAAGO,GAAGA,EAAEkiB,iBAAiB,CAAC,IAAI/U,EAAE,CAAC,CAAC,aAAa3N,GAAG,CAAC,YAAYoT,GAAG,CAAC,WAAWF,IAAIvF,EAAExQ,SAAS,SAAS8C,GAAG,IAAI0N,EAAE1N,EAAE,GAAGwT,EAAExT,EAAE,GAAG,OAAOO,EAAEkiB,iBAAiB/U,EAAE8F,EAAE,CAACwmB,QAAQvmB,GAAG,IAAIzT,EAAE,WAAW,OAAO0N,EAAExQ,SAAS,SAASuW,GAAG,IAAIzT,EAAEyT,EAAE,GAAG/F,EAAE+F,EAAE,GAAG,OAAOlT,EAAEmiB,oBAAoB1iB,EAAE0N,EAAE,GAAG,CAAC,CAAC,OAAO1N,CAAC,EAAEqT,EAAE,CAACiyB,IAAI,SAAS7xB,GAAG,OAAOA,GAAGlT,GAAG,SAASA,EAAEmN,GAAG,GAAGnN,EAAEs4C,KAAKplC,EAAE,OAAOlT,EAAE,IAAIiT,EAAE,CAAC,EAAE,OAAOjT,EAAEs4C,IAAIt4C,EAAEs4C,KAAKplC,GAAGlT,EAAEs/C,eAAet/C,EAAEs/C,eAAersC,EAAEqsC,kBAAa,GAAQnyC,EAAEgxC,YAAYjrC,IAAID,EAAEqsC,aAAavsC,EAAEG,GAAG/F,EAAE6wC,+BAA+Bv+C,EAAE,CAAC,EAAEO,EAAE,CAACs4C,GAAGplC,GAAGD,EAAE,GAAG,GAAG,OAAOC,EAAEgrC,aAAaprC,EAAEysC,YAAY//C,GAAG,CAACsT,EAAEC,EAAE,CAAC/S,EAAEw/C,KAAKjsC,EAAEvT,EAAEy/C,KAAKtyC,EAAEnN,EAAE0/C,MAAMzsC,EAAEjT,EAAE2/C,GAAG,KAAK3/C,EAAE4/C,aAAa,SAAS5/C,GAAG,IAAImN,EAAEnN,EAAEk+C,WAAWjrC,EAAEC,EAAEu4B,OAAOhsC,EAAE,CAAC,EAAEq9C,IAAIvpC,EAAEL,EAAEu4B,OAAOhsC,EAAE,CAAC,EAAED,IAAI+T,EAAEgQ,QAAQ9jB,EAAE,CAAC,EAAED,EAAEQ,GAAG,IAAIjB,EAAEmU,EAAEq4B,SAAS,WAAW,OAAO34B,GAAG,SAAS5S,GAAG,OAAOiT,EAAEsQ,QAAQvjB,EAAEiT,EAAEsQ,QAAQhQ,EAAEgQ,QAAQ,GAAG,CAAC26B,WAAW/wC,GAAG,GAAG,CAACA,IAAIqG,EAAEzU,EAAE,GAAG0T,EAAE1T,EAAE,GAAG,OAAOkU,EAAEsQ,QAAQ,SAASvjB,EAAEkT,EAAE/F,GAAG,IAAI8F,EAAE,CAAC,EAAE,OAAOC,EAAEirC,YAAYn+C,EAAEs/C,cAAct/C,EAAEs/C,eAAersC,EAAEqsC,kBAAa,GAAQpsC,EAAEirC,aAAan+C,EAAEs/C,cAAct/C,EAAEs4C,KAAKrlC,EAAEqsC,aAAanyC,EAAEnN,EAAEs4C,IAAIplC,EAAE8qC,+BAA+Bv+C,EAAE,CAAC,EAAEO,EAAEiT,EAAE,CAA7M,CAA+MA,EAAEsQ,QAAQhQ,EAAEgQ,QAAQ9Q,GAAGe,CAAC,CAAC,CAAn+F,CAAq+FN,EAAEzT,EAAE,KAAK,EAAE,IAAI,SAAAyT,GAAI,aAAaA,EAAEvB,QAAQ3R,CAAC,GAAGP,EAAE,CAAC,EAAE,SAAS0N,EAAEnN,GAAG,IAAIiT,EAAExT,EAAEO,GAAG,QAAG,IAASiT,EAAE,OAAOA,EAAEtB,QAAQ,IAAI4B,EAAE9T,EAAEO,GAAG,CAAC2R,QAAQ,CAAC,GAAG,OAAOuB,EAAElT,GAAG8L,KAAKyH,EAAE5B,QAAQ4B,EAAEA,EAAE5B,QAAQxE,GAAGoG,EAAE5B,OAAO,CAACxE,EAAE1N,EAAE,SAAAO,GAAI,IAAIkT,EAAElT,GAAGA,EAAE6/C,WAAW,kBAAI7/C,EAAE8/C,OAAO,EAAC,kBAAI9/C,CAAC,EAAC,OAAOmN,EAAEuF,EAAEQ,EAAE,CAACK,EAAEL,IAAIA,CAAC,EAAE/F,EAAEuF,EAAE,SAAC1S,EAAEkT,GAAK,IAAI,IAAIzT,KAAKyT,EAAE/F,EAAE2vC,EAAE5pC,EAAEzT,KAAK0N,EAAE2vC,EAAE98C,EAAEP,IAAIrE,OAAOkW,eAAetR,EAAEP,EAAE,CAAC6G,YAAW,EAAGjG,IAAI6S,EAAEzT,IAAI,EAAE0N,EAAEwF,EAAE,WAAW,GAAG,iBAAiBotC,WAAW,OAAOA,WAAW,IAAI,OAAO7pC,MAAM,IAAInN,SAAS,cAAb,EAA6B,CAAC,MAAM/I,GAAG,GAAG,iBAAiB8B,OAAO,OAAOA,MAAM,CAAC,CAA7J,GAAiKqL,EAAE2vC,EAAE,SAAC98C,EAAEkT,GAAC,OAAG9X,OAAOsB,UAAUoZ,eAAehK,KAAK9L,EAAEkT,EAAE,EAAC/F,EAAE8F,EAAE,SAAAjT,GAAI,oBAAoBuS,QAAQA,OAAOytC,aAAa5kD,OAAOkW,eAAetR,EAAEuS,OAAOytC,YAAY,CAACngD,MAAM,WAAWzE,OAAOkW,eAAetR,EAAE,aAAa,CAACH,OAAM,GAAI,EAAE,IAAIoT,EAAE,CAAC,EAAE,OAAO,WAAK,aAAa,SAASjT,EAAEkT,GAAG,IAAIzT,EAAE0N,EAAE8F,EAAE,GAAG,GAAG,iBAAiBC,GAAG,iBAAiBA,EAAED,GAAGC,OAAO,GAAG,iBAAiBA,EAAE,GAAGzW,MAAMue,QAAQ9H,GAAG,IAAIzT,EAAE,EAAEA,EAAEyT,EAAE3U,OAAOkB,IAAIyT,EAAEzT,KAAK0N,EAAEnN,EAAEkT,EAAEzT,OAAOwT,IAAIA,GAAG,KAAKA,GAAG9F,QAAQ,IAAI1N,KAAKyT,EAAEA,EAAEzT,KAAKwT,IAAIA,GAAG,KAAKA,GAAGxT,GAAG,OAAOwT,CAAC,CAAC,SAASC,IAAI,IAAI,IAAIA,EAAEzT,EAAE0N,EAAE,EAAE8F,EAAE,GAAG9F,EAAE7O,UAAUC,SAAS2U,EAAE5U,UAAU6O,QAAQ1N,EAAEO,EAAEkT,MAAMD,IAAIA,GAAG,KAAKA,GAAGxT,GAAG,OAAOwT,CAAC,CAAC9F,EAAE8F,EAAEA,GAAG9F,EAAEuF,EAAEO,EAAE,CAAC6sC,QAAQ,kBAAI9oB,EAAE,IAAG,IAAIv3B,EAAE0N,EAAE,KAAKoG,EAAEpG,EAAE1N,EAAEA,GAASD,EAAE,SAASQ,GAAG,IAAIkT,SAASlT,EAAE,OAAO,MAAMA,IAAI,UAAUkT,GAAG,YAAYA,EAAE,EAAE4pC,EAAE,iBAAiBmD,EAAAA,GAAQA,EAAAA,GAAQA,EAAAA,EAAO7kD,SAASA,QAAQ6kD,EAAAA,EAAWlhD,EAAE,iBAAiBmhD,MAAMA,MAAMA,KAAK9kD,SAASA,QAAQ8kD,KAAW1sC,EAAEspC,GAAG/9C,GAAGgK,SAAS,cAATA,GAA0B0J,EAAE,WAAW,OAAOe,EAAEiY,KAAKC,KAAK,EAAM9Y,EAAE,KAASF,EAAE,OAAazS,EAAE,SAASD,GAAG,OAAOA,EAAEA,EAAE+W,MAAM,EAAE,SAAS/W,GAAG,IAAI,IAAIkT,EAAElT,EAAEzB,OAAO2U,KAAKN,EAAE7U,KAAKiC,EAAEuf,OAAOrM,MAAM,OAAOA,CAAC,CAAlE,CAAoElT,GAAG,GAAGxC,QAAQkV,EAAE,IAAI1S,CAAC,EAAE+S,EAAES,EAAEjB,OAAWO,EAAE1X,OAAOsB,UAAUyW,EAAEL,EAAEgD,eAAenD,EAAEG,EAAE1V,SAASkV,EAAES,EAAEA,EAAEitC,iBAAY,EAAW3sC,EAAEjY,OAAOsB,UAAUU,SAAagW,EAAEL,EAAEA,EAAEitC,iBAAY,EAAazO,EAAE,SAASvxC,GAAG,OAAO,MAAMA,OAAE,IAASA,EAAE,qBAAqB,gBAAgBoT,GAAGA,KAAKhY,OAAO4E,GAAG,SAASA,GAAG,IAAIkT,EAAEC,EAAErH,KAAK9L,EAAEsS,GAAG7S,EAAEO,EAAEsS,GAAG,IAAItS,EAAEsS,QAAG,EAAO,IAAInF,GAAE,CAAE,CAAC,MAAMnN,GAAG,CAAC,IAAIiT,EAAEN,EAAE7G,KAAK9L,GAAG,OAAOmN,IAAI+F,EAAElT,EAAEsS,GAAG7S,SAASO,EAAEsS,IAAIW,CAAC,CAA1H,CAA4HjT,GAAG,SAASA,GAAG,OAAOqT,EAAEvH,KAAK9L,EAAE,CAA5B,CAA8BA,EAAE,EAAM4wC,EAAE,qBAAqB1J,EAAE,aAAaxK,EAAE,cAAc7pB,EAAEstC,SAAephB,EAAE,SAAS/+B,GAAG,GAAG,iBAAiBA,EAAE,OAAOA,EAAE,GAAG,SAASA,GAAG,MAAM,iBAAiBA,GAAG,SAASA,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,CAAC,CAA9C,CAAgDA,IAAI,mBAAmBuxC,EAAEvxC,EAAE,CAAjH,CAAmHA,GAAG,OAAOogD,IAAI,GAAG5gD,EAAEQ,GAAG,CAAC,IAAIkT,EAAE,mBAAmBlT,EAAEgc,QAAQhc,EAAEgc,UAAUhc,EAAEA,EAAER,EAAE0T,GAAGA,EAAE,GAAGA,CAAC,CAAC,GAAG,iBAAiBlT,EAAE,OAAO,IAAIA,EAAEA,GAAGA,EAAEA,EAAEC,EAAED,GAAG,IAAIP,EAAEynC,EAAEnpC,KAAKiC,GAAG,OAAOP,GAAGi9B,EAAE3+B,KAAKiC,GAAG6S,EAAE7S,EAAE+W,MAAM,GAAGtX,EAAE,EAAE,GAAGmxC,EAAE7yC,KAAKiC,GAAGogD,KAAKpgD,CAAC,EAAM7D,EAAEgpB,KAAKk7B,IAAIx9C,EAAEsiB,KAAK0Q,IAAUuT,EAAE,SAASppC,EAAEkT,EAAEzT,GAAG,IAAI0N,EAAE8F,EAAEM,EAAEupC,EAAE/9C,EAAEyU,EAAEZ,EAAE,EAAEF,GAAE,EAAGzS,GAAE,EAAG8S,GAAE,EAAG,GAAG,mBAAmB/S,EAAE,MAAM,IAAI9B,UAAU,uBAAuB,SAAS4U,EAAEI,GAAG,IAAIzT,EAAE0N,EAAEoG,EAAEN,EAAE,OAAO9F,EAAE8F,OAAE,EAAOL,EAAEM,EAAE4pC,EAAE98C,EAAElE,MAAMyX,EAAE9T,EAAE,CAAC,SAAS0T,EAAEnT,GAAG,OAAO4S,EAAE5S,EAAEjB,EAAEo8B,WAAW7oB,EAAEY,GAAGR,EAAEI,EAAE9S,GAAG88C,CAAC,CAAC,SAASnqC,EAAE3S,GAAG,IAAIP,EAAEO,EAAEwT,EAAE,YAAO,IAASA,GAAG/T,GAAGyT,GAAGzT,EAAE,GAAGQ,GAAGD,EAAE4S,GAAGW,CAAC,CAAC,SAASjB,IAAI,IAAItS,EAAEyS,IAAI,GAAGE,EAAE3S,GAAG,OAAOqT,EAAErT,GAAGjB,EAAEo8B,WAAW7oB,EAAE,SAAStS,GAAG,IAAIP,EAAEyT,GAAGlT,EAAEwT,GAAG,OAAOvT,EAAE4C,EAAEpD,EAAE8T,GAAGvT,EAAE4S,IAAInT,CAAC,CAAjD,CAAmDO,GAAG,CAAC,SAASqT,EAAErT,GAAG,OAAOjB,OAAE,EAAOgU,GAAG5F,EAAE2F,EAAE9S,IAAImN,EAAE8F,OAAE,EAAO6pC,EAAE,CAAC,SAAS1pC,IAAI,IAAIpT,EAAEyS,IAAIhT,EAAEkT,EAAE3S,GAAG,GAAGmN,EAAE7O,UAAU2U,EAAEiD,KAAK1C,EAAExT,EAAEP,EAAE,CAAC,QAAG,IAASV,EAAE,OAAOoU,EAAEK,GAAG,GAAGvT,EAAE,OAAOo7B,aAAat8B,GAAGA,EAAEo8B,WAAW7oB,EAAEY,GAAGJ,EAAEU,EAAE,CAAC,YAAO,IAASzU,IAAIA,EAAEo8B,WAAW7oB,EAAEY,IAAI4pC,CAAC,CAAC,OAAO5pC,EAAE6rB,EAAE7rB,IAAI,EAAE1T,EAAEC,KAAKiT,IAAIjT,EAAE6gD,QAAQ/sC,GAAGtT,EAAE,YAAYR,GAAGtD,EAAE4iC,EAAEt/B,EAAE8gD,UAAU,EAAErtC,GAAGK,EAAER,EAAE,aAAatT,IAAIA,EAAE+gD,SAASztC,GAAGK,EAAEqtC,OAAO,gBAAW,IAAS1hD,GAAGs8B,aAAat8B,GAAG6T,EAAE,EAAEzF,EAAEqG,EAAEP,EAAElU,OAAE,CAAM,EAAEqU,EAAEstC,MAAM,WAAW,YAAO,IAAS3hD,EAAE+9C,EAAEzpC,EAAEZ,IAAI,EAAEW,CAAC,EAAEswB,EAAE,SAAS1jC,EAAEkT,EAAEzT,GAAG,IAAI0N,GAAE,EAAG8F,GAAE,EAAG,GAAG,mBAAmBjT,EAAE,MAAM,IAAI9B,UAAU,uBAAuB,OAAOsB,EAAEC,KAAK0N,EAAE,YAAY1N,IAAIA,EAAE6gD,QAAQnzC,EAAE8F,EAAE,aAAaxT,IAAIA,EAAE+gD,SAASvtC,GAAGm2B,EAAEppC,EAAEkT,EAAE,CAACotC,QAAQnzC,EAAEozC,QAAQrtC,EAAEstC,SAASvtC,GAAG,EAAMk0B,EAAEh6B,EAAE,KAAKo5B,EAAEp5B,EAAE1N,EAAE0nC,GAAG8K,EAAE,WAAW,GAAG,oBAAoB3qB,IAAI,OAAOA,IAAI,SAAStnB,EAAEA,EAAEkT,GAAG,IAAIzT,GAAG,EAAE,OAAOO,EAAE2gD,MAAM,SAAS3gD,EAAEmN,GAAG,OAAOnN,EAAE,KAAKkT,IAAIzT,EAAE0N,GAAE,EAAG,IAAI1N,CAAC,CAAC,OAAO,WAAW,SAASyT,IAAIgD,KAAK0qC,YAAY,EAAE,CAAC,OAAOxlD,OAAOkW,eAAe4B,EAAExW,UAAU,OAAO,CAAC2D,IAAI,WAAW,OAAO6V,KAAK0qC,YAAYriD,MAAM,EAAE+H,YAAW,EAAGD,cAAa,IAAK6M,EAAExW,UAAU2D,IAAI,SAAS6S,GAAG,IAAIzT,EAAEO,EAAEkW,KAAK0qC,YAAY1tC,GAAG/F,EAAE+I,KAAK0qC,YAAYnhD,GAAG,OAAO0N,GAAGA,EAAE,EAAE,EAAE+F,EAAExW,UAAUkC,IAAI,SAASsU,EAAEzT,GAAG,IAAI0N,EAAEnN,EAAEkW,KAAK0qC,YAAY1tC,IAAI/F,EAAE+I,KAAK0qC,YAAYzzC,GAAG,GAAG1N,EAAEyW,KAAK0qC,YAAY7jD,KAAK,CAACmW,EAAEzT,GAAG,EAAEyT,EAAExW,UAAUirB,OAAO,SAASzU,GAAG,IAAIzT,EAAEyW,KAAK0qC,YAAYzzC,EAAEnN,EAAEP,EAAEyT,IAAI/F,GAAG1N,EAAEi6C,OAAOvsC,EAAE,EAAE,EAAE+F,EAAExW,UAAUu8B,IAAI,SAAS/lB,GAAG,SAASlT,EAAEkW,KAAK0qC,YAAY1tC,EAAE,EAAEA,EAAExW,UAAUmkD,MAAM,WAAW3qC,KAAK0qC,YAAYlH,OAAO,EAAE,EAAExmC,EAAExW,UAAUC,QAAQ,SAASqD,EAAEkT,QAAG,IAASA,IAAIA,EAAE,MAAM,IAAI,IAAIzT,EAAE,EAAE0N,EAAE+I,KAAK0qC,YAAYnhD,EAAE0N,EAAE5O,OAAOkB,IAAI,CAAC,IAAIwT,EAAE9F,EAAE1N,GAAGO,EAAE8L,KAAKoH,EAAED,EAAE,GAAGA,EAAE,GAAG,CAAC,EAAEC,CAAC,CAA7sB,EAAgtB,CAA71B,GAAi2B6lB,EAAE,oBAAoBj3B,QAAQ,oBAAoBG,UAAUH,OAAOG,WAAWA,SAAS03B,OAAE,IAASxsB,EAAEwF,GAAGxF,EAAEwF,EAAEwS,OAAOA,KAAKhY,EAAEwF,EAAE,oBAAoButC,MAAMA,KAAK/6B,OAAOA,KAAK+6B,KAAK,oBAAoBp+C,QAAQA,OAAOqjB,OAAOA,KAAKrjB,OAAOiH,SAAS,cAATA,GAA0B0d,EAAE,mBAAmBq6B,sBAAsBA,sBAAsBvnB,KAAKI,GAAG,SAAS35B,GAAG,OAAOm7B,YAAY,WAAW,OAAOn7B,EAAEyrB,KAAKC,MAAM,GAAG,IAAI,GAAG,EAAEpY,EAAE,CAAC,MAAM,QAAQ,SAAS,OAAO,QAAQ,SAAS,OAAO,UAAU2zB,EAAE,oBAAoB8Z,iBAAiBC,EAAE,WAAW,SAAShhD,IAAIkW,KAAK+qC,YAAW,EAAG/qC,KAAKgrC,sBAAqB,EAAGhrC,KAAKirC,mBAAmB,KAAKjrC,KAAKkrC,WAAW,GAAGlrC,KAAKmrC,iBAAiBnrC,KAAKmrC,iBAAiB9nB,KAAKrjB,MAAMA,KAAKorC,QAAQ,SAASthD,EAAEkT,GAAG,IAAIzT,GAAE,EAAG0N,GAAE,EAAG8F,EAAE,EAAE,SAASM,IAAI9T,IAAIA,GAAE,EAAGO,KAAKmN,GAAG2vC,GAAG,CAAC,SAASt9C,IAAIinB,EAAElT,EAAE,CAAC,SAASupC,IAAI,IAAI98C,EAAEyrB,KAAKC,MAAM,GAAGjsB,EAAE,CAAC,GAAGO,EAAEiT,EAAE,EAAE,OAAO9F,GAAE,CAAE,MAAM1N,GAAE,EAAG0N,GAAE,EAAGguB,WAAW37B,EAAE,IAAIyT,EAAEjT,CAAC,CAAC,OAAO88C,CAAC,CAAzL,CAA2L5mC,KAAKorC,QAAQ/nB,KAAKrjB,MAAM,CAAC,OAAOlW,EAAEtD,UAAU6kD,YAAY,SAASvhD,IAAIkW,KAAKkrC,WAAW1jD,QAAQsC,IAAIkW,KAAKkrC,WAAWrkD,KAAKiD,GAAGkW,KAAK+qC,YAAY/qC,KAAKsrC,UAAU,EAAExhD,EAAEtD,UAAU+kD,eAAe,SAASzhD,GAAG,IAAIkT,EAAEgD,KAAKkrC,WAAW3hD,EAAEyT,EAAExV,QAAQsC,IAAIP,GAAGyT,EAAEwmC,OAAOj6C,EAAE,IAAIyT,EAAE3U,QAAQ2X,KAAK+qC,YAAY/qC,KAAKwrC,aAAa,EAAE1hD,EAAEtD,UAAU4kD,QAAQ,WAAWprC,KAAKyrC,oBAAoBzrC,KAAKorC,SAAS,EAAEthD,EAAEtD,UAAUilD,iBAAiB,WAAW,IAAI3hD,EAAEkW,KAAKkrC,WAAWQ,QAAQ,SAAS5hD,GAAG,OAAOA,EAAE6hD,eAAe7hD,EAAE8hD,WAAW,IAAI,OAAO9hD,EAAErD,SAAS,SAASqD,GAAG,OAAOA,EAAE+hD,iBAAiB,IAAI/hD,EAAEzB,OAAO,CAAC,EAAEyB,EAAEtD,UAAU8kD,SAAS,WAAWzoB,IAAI7iB,KAAK+qC,aAAah/C,SAASigB,iBAAiB,gBAAgBhM,KAAKmrC,kBAAkBv/C,OAAOogB,iBAAiB,SAAShM,KAAKorC,SAASra,GAAG/wB,KAAKirC,mBAAmB,IAAIJ,iBAAiB7qC,KAAKorC,SAASprC,KAAKirC,mBAAmBa,QAAQ//C,SAAS,CAACsK,YAAW,EAAG01C,WAAU,EAAGC,eAAc,EAAGC,SAAQ,MAAOlgD,SAASigB,iBAAiB,qBAAqBhM,KAAKorC,SAASprC,KAAKgrC,sBAAqB,GAAIhrC,KAAK+qC,YAAW,EAAG,EAAEjhD,EAAEtD,UAAUglD,YAAY,WAAW3oB,GAAG7iB,KAAK+qC,aAAah/C,SAASkgB,oBAAoB,gBAAgBjM,KAAKmrC,kBAAkBv/C,OAAOqgB,oBAAoB,SAASjM,KAAKorC,SAASprC,KAAKirC,oBAAoBjrC,KAAKirC,mBAAmBiB,aAAalsC,KAAKgrC,sBAAsBj/C,SAASkgB,oBAAoB,qBAAqBjM,KAAKorC,SAASprC,KAAKirC,mBAAmB,KAAKjrC,KAAKgrC,sBAAqB,EAAGhrC,KAAK+qC,YAAW,EAAG,EAAEjhD,EAAEtD,UAAU2kD,iBAAiB,SAASrhD,GAAG,IAAIkT,EAAElT,EAAEuW,aAAa9W,OAAE,IAASyT,EAAE,GAAGA,EAAEI,EAAEqtC,MAAM,SAAS3gD,GAAG,SAASP,EAAE/B,QAAQsC,EAAE,KAAKkW,KAAKorC,SAAS,EAAEthD,EAAEqiD,YAAY,WAAW,OAAOnsC,KAAKosC,YAAYpsC,KAAKosC,UAAU,IAAItiD,GAAGkW,KAAKosC,SAAS,EAAEtiD,EAAEsiD,UAAU,KAAKtiD,CAAC,CAAj/D,GAAq/DkkB,EAAE,SAASlkB,EAAEkT,GAAG,IAAI,IAAIzT,EAAE,EAAE0N,EAAE/R,OAAO6W,KAAKiB,GAAGzT,EAAE0N,EAAE5O,OAAOkB,IAAI,CAAC,IAAIwT,EAAE9F,EAAE1N,GAAGrE,OAAOkW,eAAetR,EAAEiT,EAAE,CAACpT,MAAMqT,EAAED,GAAG3M,YAAW,EAAGF,UAAS,EAAGC,cAAa,GAAI,CAAC,OAAOrG,CAAC,EAAE0T,EAAE,SAAS1T,GAAG,OAAOA,GAAGA,EAAEyE,eAAezE,EAAEyE,cAAcqxB,aAAa6D,CAAC,EAAEgD,EAAEoV,EAAE,EAAE,EAAE,EAAE,GAAG,SAASH,EAAE5xC,GAAG,OAAOuiD,WAAWviD,IAAI,CAAC,CAAC,SAAS68B,EAAE78B,GAAG,IAAI,IAAIkT,EAAE,GAAGzT,EAAE,EAAEA,EAAEnB,UAAUC,OAAOkB,IAAIyT,EAAEzT,EAAE,GAAGnB,UAAUmB,GAAG,OAAOyT,EAAEsvC,QAAQ,SAAStvC,EAAEzT,GAAG,OAAOyT,EAAE0+B,EAAE5xC,EAAE,UAAUP,EAAE,UAAU,GAAG,EAAE,CAAC,IAAIuT,EAAE,oBAAoByvC,mBAAmB,SAASziD,GAAG,OAAOA,aAAa0T,EAAE1T,GAAGyiD,kBAAkB,EAAE,SAASziD,GAAG,OAAOA,aAAa0T,EAAE1T,GAAG0iD,YAAY,mBAAmB1iD,EAAE2iD,OAAO,EAAE,SAAS/f,EAAE5iC,GAAG,OAAO+4B,EAAE/lB,EAAEhT,GAAG,SAASA,GAAG,IAAIkT,EAAElT,EAAE2iD,UAAU,OAAO5Q,EAAE,EAAE,EAAE7+B,EAAE4c,MAAM5c,EAAE6c,OAAO,CAA5D,CAA8D/vB,GAAG,SAASA,GAAG,IAAIkT,EAAElT,EAAE4iD,YAAYnjD,EAAEO,EAAE6iD,aAAa,IAAI3vC,IAAIzT,EAAE,OAAOk9B,EAAE,IAAIxvB,EAAEuG,EAAE1T,GAAG8iD,iBAAiB9iD,GAAGiT,EAAE,SAASjT,GAAG,IAAI,IAAIkT,EAAE,CAAC,EAAEzT,EAAE,EAAE0N,EAAE,CAAC,MAAM,QAAQ,SAAS,QAAQ1N,EAAE0N,EAAE5O,OAAOkB,IAAI,CAAC,IAAIwT,EAAE9F,EAAE1N,GAAG8T,EAAEvT,EAAE,WAAWiT,GAAGC,EAAED,GAAG2+B,EAAEr+B,EAAE,CAAC,OAAOL,CAAC,CAA9H,CAAgI/F,GAAGoG,EAAEN,EAAE0jB,KAAK1jB,EAAE8vC,MAAMvjD,EAAEyT,EAAE4jB,IAAI5jB,EAAE+vC,OAAOlG,EAAElL,EAAEzkC,EAAE2iB,OAAO/wB,EAAE6yC,EAAEzkC,EAAE4iB,QAAQ,GAAG,eAAe5iB,EAAE81C,YAAY99B,KAAK+9B,MAAMpG,EAAEvpC,KAAKL,IAAI4pC,GAAGjgB,EAAE1vB,EAAE,OAAO,SAASoG,GAAG4R,KAAK+9B,MAAMnkD,EAAES,KAAKC,IAAIV,GAAG89B,EAAE1vB,EAAE,MAAM,UAAU3N,KAAK,SAASQ,GAAG,OAAOA,IAAI0T,EAAE1T,GAAGiC,SAASsJ,eAAe,CAApD,CAAsDvL,GAAG,CAAC,IAAIwT,EAAE2R,KAAK+9B,MAAMpG,EAAEvpC,GAAGL,EAAET,EAAE0S,KAAK+9B,MAAMnkD,EAAES,GAAGC,EAAE,IAAI0lB,KAAKw5B,IAAInrC,KAAKspC,GAAGtpC,GAAG,IAAI2R,KAAKw5B,IAAIlsC,KAAK1T,GAAG0T,EAAE,CAAC,OAAOs/B,EAAE9+B,EAAE0jB,KAAK1jB,EAAE4jB,IAAIimB,EAAE/9C,EAAE,CAAvlB,CAAylBiB,GAAG28B,CAAC,CAAC,SAASoV,EAAE/xC,EAAEkT,EAAEzT,EAAE0N,GAAG,MAAM,CAAChR,EAAE6D,EAAEqT,EAAEH,EAAE4c,MAAMrwB,EAAEswB,OAAO5iB,EAAE,CAAC,IAAI0lC,EAAE,WAAW,SAAS7yC,EAAEA,GAAGkW,KAAKitC,eAAe,EAAEjtC,KAAKktC,gBAAgB,EAAEltC,KAAKmtC,aAAatR,EAAE,EAAE,EAAE,EAAE,GAAG77B,KAAK6K,OAAO/gB,CAAC,CAAC,OAAOA,EAAEtD,UAAU4mD,SAAS,WAAW,IAAItjD,EAAE4iC,EAAE1sB,KAAK6K,QAAQ,OAAO7K,KAAKmtC,aAAarjD,EAAEA,EAAE8vB,QAAQ5Z,KAAKitC,gBAAgBnjD,EAAE+vB,SAAS7Z,KAAKktC,eAAe,EAAEpjD,EAAEtD,UAAU6mD,cAAc,WAAW,IAAIvjD,EAAEkW,KAAKmtC,aAAa,OAAOntC,KAAKitC,eAAenjD,EAAE8vB,MAAM5Z,KAAKktC,gBAAgBpjD,EAAE+vB,OAAO/vB,CAAC,EAAEA,CAAC,CAA1Y,GAA8Yw0C,EAAE,SAASx0C,EAAEkT,GAAG,IAAIzT,EAAE0N,EAAE8F,EAAEM,EAAE/T,EAAEs9C,EAAE/9C,EAAEyU,GAAGrG,GAAG1N,EAAEyT,GAAG/W,EAAE8W,EAAExT,EAAE4T,EAAEE,EAAE9T,EAAEqwB,MAAMtwB,EAAEC,EAAEswB,OAAO+sB,EAAE,oBAAoB0G,gBAAgBA,gBAAgBpoD,OAAO2D,EAAE3D,OAAOO,OAAOmhD,EAAEpgD,WAAWwnB,EAAEnlB,EAAE,CAAC5C,EAAEgR,EAAEkG,EAAEJ,EAAE6c,MAAMvc,EAAEwc,OAAOvwB,EAAEq3B,IAAI5jB,EAAE8vC,MAAM51C,EAAEoG,EAAEyvC,OAAOxjD,EAAEyT,EAAE0jB,KAAKxpB,IAAIpO,GAAGmlB,EAAEhO,KAAK,CAAC6K,OAAO/gB,EAAEyjD,YAAYjwC,GAAG,EAAEkwC,EAAE,WAAW,SAAS1jD,EAAEA,EAAEkT,EAAEzT,GAAG,GAAGyW,KAAKytC,oBAAoB,GAAGztC,KAAK0tC,cAAc,IAAI3R,EAAE,mBAAmBjyC,EAAE,MAAM,IAAI9B,UAAU,2DAA2DgY,KAAK2tC,UAAU7jD,EAAEkW,KAAK4tC,YAAY5wC,EAAEgD,KAAK6tC,aAAatkD,CAAC,CAAC,OAAOO,EAAEtD,UAAUslD,QAAQ,SAAShiD,GAAG,IAAI1B,UAAUC,OAAO,MAAM,IAAIL,UAAU,4CAA4C,GAAG,oBAAoBwF,SAASA,mBAAmBtI,OAAO,CAAC,KAAK4E,aAAa0T,EAAE1T,GAAG0D,SAAS,MAAM,IAAIxF,UAAU,yCAAyC,IAAIgV,EAAEgD,KAAK0tC,cAAc1wC,EAAE+lB,IAAIj5B,KAAKkT,EAAEtU,IAAIoB,EAAE,IAAI6yC,EAAE7yC,IAAIkW,KAAK4tC,YAAYvC,YAAYrrC,MAAMA,KAAK4tC,YAAYxC,UAAU,CAAC,EAAEthD,EAAEtD,UAAUsnD,UAAU,SAAShkD,GAAG,IAAI1B,UAAUC,OAAO,MAAM,IAAIL,UAAU,4CAA4C,GAAG,oBAAoBwF,SAASA,mBAAmBtI,OAAO,CAAC,KAAK4E,aAAa0T,EAAE1T,GAAG0D,SAAS,MAAM,IAAIxF,UAAU,yCAAyC,IAAIgV,EAAEgD,KAAK0tC,cAAc1wC,EAAE+lB,IAAIj5B,KAAKkT,EAAEyU,OAAO3nB,GAAGkT,EAAEk+B,MAAMl7B,KAAK4tC,YAAYrC,eAAevrC,MAAM,CAAC,EAAElW,EAAEtD,UAAU0lD,WAAW,WAAWlsC,KAAK+tC,cAAc/tC,KAAK0tC,cAAc/C,QAAQ3qC,KAAK4tC,YAAYrC,eAAevrC,KAAK,EAAElW,EAAEtD,UAAUmlD,aAAa,WAAW,IAAI7hD,EAAEkW,KAAKA,KAAK+tC,cAAc/tC,KAAK0tC,cAAcjnD,SAAS,SAASuW,GAAGA,EAAEowC,YAAYtjD,EAAE2jD,oBAAoB5mD,KAAKmW,EAAE,GAAG,EAAElT,EAAEtD,UAAUqlD,gBAAgB,WAAW,GAAG7rC,KAAK4rC,YAAY,CAAC,IAAI9hD,EAAEkW,KAAK6tC,aAAa7wC,EAAEgD,KAAKytC,oBAAoBO,KAAK,SAASlkD,GAAG,OAAO,IAAIw0C,EAAEx0C,EAAE+gB,OAAO/gB,EAAEujD,gBAAgB,IAAIrtC,KAAK2tC,UAAU/3C,KAAK9L,EAAEkT,EAAElT,GAAGkW,KAAK+tC,aAAa,CAAC,EAAEjkD,EAAEtD,UAAUunD,YAAY,WAAW/tC,KAAKytC,oBAAoBjK,OAAO,EAAE,EAAE15C,EAAEtD,UAAUolD,UAAU,WAAW,OAAO5rC,KAAKytC,oBAAoBplD,OAAO,CAAC,EAAEyB,CAAC,CAA5mD,GAAgnD05B,EAAE,oBAAoBgT,QAAQ,IAAIA,QAAQ,IAAIuF,EAAEzK,EAAE,SAASxnC,EAAEkT,GAAG,KAAKgD,gBAAgBlW,GAAG,MAAM,IAAI9B,UAAU,sCAAsC,IAAII,UAAUC,OAAO,MAAM,IAAIL,UAAU,4CAA4C,IAAIuB,EAAEuhD,EAAEqB,cAAcl1C,EAAE,IAAIu2C,EAAExwC,EAAEzT,EAAEyW,MAAMwjB,EAAE96B,IAAIsX,KAAK/I,EAAE,EAAE,CAAC,UAAU,YAAY,cAAcxQ,SAAS,SAASqD,GAAGwnC,EAAE9qC,UAAUsD,GAAG,WAAW,IAAIkT,EAAE,OAAOA,EAAEwmB,EAAEr5B,IAAI6V,OAAOlW,GAAGlE,MAAMoX,EAAE5U,UAAU,CAAC,IAAI,IAAMm2C,QAAE,IAAS9a,EAAEwqB,eAAexqB,EAAEwqB,eAAe3c,EAAM7V,GAAGxkB,EAAE,IAAIomB,GAAGpmB,EAAE,KAAK4lB,GAAGxf,IAAI6wC,MAAM,SAASpkD,GAAG,IAAIkT,EAAElT,EAAEqkD,YAAY5kD,EAAEO,EAAEskD,WAAWn3C,EAAEnN,EAAEukD,kBAAkBtxC,EAAEjT,EAAEwkD,aAAahlD,EAAEQ,EAAEykD,aAAa3H,EAAE98C,EAAE0kD,SAAS3lD,EAAEiB,EAAE2kD,YAAYnxC,EAAExT,EAAE4kD,eAAenyC,EAAEzS,EAAE6kD,cAAcjyC,EAAE5S,EAAE8kD,cAAcpyC,EAAE1S,EAAE+kD,MAAM9kD,EAAED,EAAEglD,OAAOjyC,EAAE/S,EAAEilD,QAAQnyC,EAAEG,GAAGxT,GAAGq9C,EAAE,OAAOvpC,IAAIhP,cAAcgP,IAAIQ,SAAS,KAAKR,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,sBAAsBjR,IAAInhC,EAAEqyC,IAAIpmD,EAAEimD,OAAO/kD,EAAE8vB,OAAOvc,EAAEsc,MAAMrd,EAAEsyC,MAAMryC,EAAE0yC,MAAMxyC,EAAEyyC,OAAO,SAASrlD,GAAG,OAAOmN,EAAEnN,EAAE88C,EAAE,EAAEz6B,QAAQ7iB,EAAEylD,QAAQlyC,IAAIG,GAAGK,IAAIhP,cAAc,OAAO,CAAC2gD,UAAU,6BAA6BhyC,GAAG,IAAI6f,GAAG7iB,YAAY,OAAO6iB,GAAGxiB,UAAU,CAAC8zC,YAAY9wB,GAAG0pB,OAAOqH,WAAW/wB,GAAG0pB,OAAOsH,kBAAkBhxB,GAAGp1B,KAAK4+C,WAAWyH,aAAajxB,GAAGypB,KAAKyH,aAAalxB,GAAGp1B,KAAK4+C,WAAW2H,SAASnxB,GAAG0pB,OAAOF,WAAW4H,YAAYpxB,GAAG0pB,OAAO2H,eAAerxB,GAAG0pB,OAAO4H,cAActxB,GAAG0pB,OAAO6H,cAAcvxB,GAAG0pB,OAAO8H,MAAMxxB,GAAG0pB,OAAO+H,OAAOzxB,GAAG0pB,OAAOgI,QAAQ1xB,GAAG0pB,QAAQlqB,GAAG9iB,aAAa,CAACo0C,YAAY,GAAGC,WAAW,GAAGE,cAAa,EAAGG,YAAY,GAAGC,eAAe,GAAGC,cAAc,GAAGC,cAAc,GAAGC,MAAM,GAAGC,OAAO,GAAGC,QAAQ,SAAS,IAAMlzB,GAAGgB,GAAOM,GAAG,CAACsD,KAAKpjB,IAAIhP,cAAc,WAAW,CAAC+gD,OAAO,oBAAoBvC,MAAMxvC,IAAIhP,cAAc,WAAW,CAAC+gD,OAAO,mBAAmBC,SAAShyC,IAAIhP,cAAc,OAAO,CAACmO,EAAE,kGAAkG8yC,SAASjyC,IAAIhP,cAAc,OAAO,CAACmO,EAAE,kGAAkG+yC,KAAKlyC,IAAIhP,cAAc,UAAU,CAAC+gD,OAAO,uBAAuBI,MAAMnyC,IAAIhP,cAAcgP,IAAIQ,SAAS,KAAKR,IAAIhP,cAAc,OAAO,CAACpI,EAAE,IAAIkX,EAAE,IAAIyc,MAAM,IAAIC,OAAO,OAAOxc,IAAIhP,cAAc,OAAO,CAACpI,EAAE,KAAKkX,EAAE,IAAIyc,MAAM,IAAIC,OAAO,SAASuB,GAAG,SAAStxB,GAAG,IAAIkT,EAAElT,EAAEif,YAAYxf,EAAEO,EAAE2lD,QAAQx4C,EAAEnN,EAAE4lD,KAAK,OAAOryC,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,oBAAoBW,MAAM,6BAA6BF,QAAQlmD,EAAEqmD,KAAK,OAAOC,OAAO,eAAe9mC,YAAY/L,EAAE8yC,cAAc,QAAQC,eAAe,SAAS5yB,GAAGlmB,GAAG,EAAEmkB,GAAG/gB,UAAU,CAAC0O,YAAYsU,GAAGjB,OAAOqzB,QAAQpyB,GAAG0pB,OAAO2I,MAAK,EAAGryB,GAAGgqB,OAAO,CAAC,OAAO,QAAQ,WAAW,WAAW,OAAO,UAAUR,YAAYzrB,GAAGrhB,aAAa,CAACgP,YAAY,EAAE0mC,QAAQ,aAAa,IAAMryB,GAAGhC,GAAO0B,GAAGzf,IAAI6wC,MAAM,SAASpkD,GAAG,IAAIkT,EAAElT,EAAEwkD,aAAa/kD,EAAEO,EAAEkxC,QAAQ,OAAO39B,IAAIhP,cAAc,SAAS,CAACiM,KAAK,SAAS00C,UAAU,qDAAqDhU,QAAQzxC,EAAE,aAAa,mBAAmB8T,IAAIhP,cAAc+uB,GAAG,CAACrU,YAAY,EAAE2mC,KAAK1yC,EAAE,WAAW,aAAa,IAAI8f,GAAG9iB,YAAY,aAAa8iB,GAAGziB,UAAU,CAACi0C,aAAajxB,GAAGypB,KAAKD,WAAW7L,QAAQ3d,GAAGp1B,KAAK4+C,YAAY,IAAM/qB,GAAGgB,GAAOQ,GAAGjgB,IAAI6wC,MAAM,SAASpkD,GAAG,IAAIkT,EAAElT,EAAEqb,SAAS5b,EAAEO,EAAEkxC,QAAQ,OAAO39B,IAAIhP,cAAc,SAAS,CAACiM,KAAK,SAAS00C,UAAU,4CAA4C7pC,SAASnI,EAAEg+B,QAAQzxC,EAAE,aAAa,kBAAkB8T,IAAIhP,cAAc+uB,GAAG,CAACsyB,KAAK,OAAOD,QAAQ,cAAc,IAAInyB,GAAGtjB,YAAY,UAAUsjB,GAAGjjB,UAAU,CAAC8K,SAASkY,GAAGypB,KAAKD,WAAW7L,QAAQ3d,GAAGp1B,KAAK4+C,YAAY,IAAMtrB,GAAG+B,GAAO1B,GAAGve,IAAI6wC,MAAM,SAASpkD,GAAG,IAAIkT,EAAElT,EAAEqb,SAAS5b,EAAEO,EAAEkxC,QAAQ,OAAO39B,IAAIhP,cAAc,SAAS,CAACiM,KAAK,SAAS00C,UAAU,6CAA6C7pC,SAASnI,EAAEg+B,QAAQzxC,EAAE,aAAa,cAAc8T,IAAIhP,cAAc+uB,GAAG,CAACsyB,KAAK,QAAQD,QAAQ,cAAc,IAAI7zB,GAAG5hB,YAAY,WAAW4hB,GAAGvhB,UAAU,CAAC8K,SAASkY,GAAGypB,KAAKD,WAAW7L,QAAQ3d,GAAGp1B,KAAK4+C,YAAY,IAAMrrB,GAAGI,GAAOF,GAAGre,IAAI6wC,MAAM,SAASpkD,GAAG,IAAIkT,EAAElT,EAAEkmD,UAAUzmD,EAAEO,EAAEkxC,QAAQ,OAAO39B,IAAIhP,cAAc,SAAS,CAACiM,KAAK,SAAS00C,UAAU,+CAA+ChU,QAAQzxC,EAAE,aAAa,2BAA2B8T,IAAIhP,cAAc+uB,GAAG,CAACrU,YAAY,EAAE2mC,KAAK1yC,EAAE,QAAQ,SAAS,IAAI0e,GAAG1hB,YAAY,YAAY0hB,GAAGrhB,UAAU,CAAC21C,UAAU3yB,GAAGypB,KAAKD,WAAW7L,QAAQ3d,GAAGp1B,KAAK4+C,YAAY,IAAM5pB,GAAGvB,GAAG,SAASkB,KAAK,OAAOA,GAAG13B,OAAOod,QAAQ,SAASxY,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAIzT,EAAEnB,UAAU4U,GAAG,IAAI,IAAI/F,KAAK1N,EAAErE,OAAOsB,UAAUoZ,eAAehK,KAAKrM,EAAE0N,KAAKnN,EAAEmN,GAAG1N,EAAE0N,GAAG,CAAC,OAAOnN,CAAC,GAAGlE,MAAMoa,KAAK5X,UAAU,CAAC,IAAIm1B,GAAG,SAASzzB,GAAG,IAAIkT,EAAElT,EAAEwb,SAAS/b,EAAEO,EAAEklD,UAAU/3C,EAAEnN,EAAE+9C,MAAM9qC,EAAEjT,EAAEk/C,UAAU1/C,EAAEQ,EAAEm/C,SAASrC,GAAE,EAAGnrB,GAAGiuB,cAAc,CAAC7B,MAAM5wC,EAAE+xC,UAAUjsC,EAAEksC,SAAS3/C,IAAI,OAAO+T,IAAIhP,cAAc,MAAMuuB,GAAG,CAAC,EAAEgqB,EAAE,CAACoI,UAAUzlD,IAAIyT,EAAE,EAAEugB,GAAGljB,UAAU,CAACiL,SAAS+X,GAAGlpB,KAAK0yC,WAAWmI,UAAU3xB,GAAG0pB,OAAOc,MAAMxqB,GAAGjB,OAAO6sB,SAAS5rB,GAAGp1B,KAAK+gD,UAAU3rB,GAAGp1B,MAAMs1B,GAAGxjB,aAAa,CAACi1C,UAAU,GAAGnH,MAAM,EAAEmB,UAAU,WAAW,EAAEC,SAAS,WAAW,GAAG,IAAMttB,GAAG4B,GAAG,SAASlC,GAAGvxB,GAAG,OAAOuxB,GAAG,mBAAmBhf,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAC,SAAS4zB,GAAG5zB,EAAEkT,GAAG,IAAIzT,EAAErE,OAAO6W,KAAKjS,GAAG,GAAG5E,OAAOoW,sBAAsB,CAAC,IAAIrE,EAAE/R,OAAOoW,sBAAsBxR,GAAGkT,IAAI/F,EAAEA,EAAEy0C,QAAQ,SAAS1uC,GAAG,OAAO9X,OAAOI,yBAAyBwE,EAAEkT,GAAG5M,UAAU,KAAK7G,EAAE1C,KAAKjB,MAAM2D,EAAE0N,EAAE,CAAC,OAAO1N,CAAC,CAAC,SAASi0B,GAAG1zB,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAIzT,EAAE,MAAMnB,UAAU4U,GAAG5U,UAAU4U,GAAG,CAAC,EAAEA,EAAE,EAAE0gB,GAAGx4B,OAAOqE,IAAG,GAAI9C,SAAS,SAASuW,GAAGkkB,GAAGp3B,EAAEkT,EAAEzT,EAAEyT,GAAG,IAAI9X,OAAO+qD,0BAA0B/qD,OAAOgrD,iBAAiBpmD,EAAE5E,OAAO+qD,0BAA0B1mD,IAAIm0B,GAAGx4B,OAAOqE,IAAI9C,SAAS,SAASuW,GAAG9X,OAAOkW,eAAetR,EAAEkT,EAAE9X,OAAOI,yBAAyBiE,EAAEyT,GAAG,GAAG,CAAC,OAAOlT,CAAC,CAAC,SAASo3B,GAAGp3B,EAAEkT,EAAEzT,GAAG,OAAOyT,KAAKlT,EAAE5E,OAAOkW,eAAetR,EAAEkT,EAAE,CAACrT,MAAMJ,EAAE6G,YAAW,EAAGD,cAAa,EAAGD,UAAS,IAAKpG,EAAEkT,GAAGzT,EAAEO,CAAC,CAAC,SAASm3B,GAAGn3B,EAAEkT,GAAG,IAAI,IAAIzT,EAAE,EAAEA,EAAEyT,EAAE3U,OAAOkB,IAAI,CAAC,IAAI0N,EAAE+F,EAAEzT,GAAG0N,EAAE7G,WAAW6G,EAAE7G,aAAY,EAAG6G,EAAE9G,cAAa,EAAG,UAAU8G,IAAIA,EAAE/G,UAAS,GAAIhL,OAAOkW,eAAetR,EAAEmN,EAAEiF,IAAIjF,EAAE,CAAC,CAAC,SAASmoB,GAAGt1B,EAAEkT,GAAG,OAAOoiB,GAAGl6B,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAAC,SAASmhB,GAAGr0B,EAAEkT,GAAG,OAAOA,GAAG,WAAWqe,GAAGre,IAAI,mBAAmBA,EAAEqnB,GAAGv6B,GAAGkT,CAAC,CAAC,SAASqnB,GAAGv6B,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAC,SAASw0B,GAAGx0B,GAAG,OAAOw0B,GAAGp5B,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAI2zB,GAAG,CAAC,mBAAmB,qBAAqB,sBAAsB,0BAA0B4yB,IAAG,EAAGhzB,GAAG6pB,UAAS,EAAG7pB,GAAGkqB,OAAO,CAACuH,OAAOzxB,GAAG0pB,OAAOuJ,MAAMjzB,GAAG0pB,UAAU,SAAS/lB,GAAGl3B,GAAG,IAAIkT,EAAEitC,SAASngD,EAAEiqB,SAASjqB,EAAE2vB,OAAO,EAAE,IAAI,OAAO,KAAKzc,GAAG,KAAKA,CAAC,CAAC,IAAI2hB,GAAG,SAAS70B,IAAI,SAASA,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAGoiB,GAAGt1B,EAAEkT,EAAE,CAAlO,CAAoOnU,EAAEiB,GAAG,IAAMmN,EAAE8F,EAAEzT,EAAEs9C,GAAG7pC,EAAElU,EAAES,EAAE,WAAW,GAAG,oBAAoB3D,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAEshB,GAAGvhB,GAAG,GAAGzT,EAAE,CAAC,IAAIC,EAAE+0B,GAAGte,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAUmB,EAAE,MAAMO,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAAO+1B,GAAGne,KAAKlW,EAAE,GAAG,SAASjB,EAAEiB,GAAG,IAAIkT,EAAE,OAAO,SAASlT,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAKnX,IAAImU,EAAE4pC,EAAEhxC,KAAKoK,KAAKlW,IAAImkC,MAAM,CAACwiB,aAAa3mD,EAAE4mD,WAAWC,gBAAgB,EAAEC,sBAAsB,EAAEC,mBAAmB,EAAEC,aAAa,EAAEC,uBAAuB,EAAEC,wBAAwB,EAAEC,YAAY,CAAC/9B,WAAW,OAAOrjB,OAAO/F,EAAEonD,cAAc,gBAAgB5C,cAAa,EAAG6C,oBAAmB,EAAGnB,WAAU,GAAIhzC,EAAEo0C,aAAa,CAAC,EAAEp0C,EAAEq0C,aAAah0C,IAAIi0C,YAAYt0C,EAAEu0C,kBAAkBl0C,IAAIi0C,YAAYt0C,EAAEw0C,WAAWn0C,IAAIi0C,YAAYt0C,EAAEy0C,yBAAyBp0C,IAAIi0C,YAAYt0C,EAAEqxC,kBAAkBrxC,EAAEqxC,kBAAkBhrB,KAAKgB,GAAGrnB,IAAIA,EAAE00C,cAAc10C,EAAE00C,cAAcruB,KAAKgB,GAAGrnB,IAAIA,EAAE20C,gBAAgB30C,EAAE20C,gBAAgBtuB,KAAKgB,GAAGrnB,IAAIA,EAAE40C,aAAa50C,EAAE40C,aAAavuB,KAAKgB,GAAGrnB,IAAIA,EAAE60C,gBAAgB70C,EAAE60C,gBAAgBxuB,KAAKgB,GAAGrnB,IAAIA,EAAE80C,eAAe90C,EAAE80C,eAAezuB,KAAKgB,GAAGrnB,IAAIA,EAAE+0C,mBAAmB/0C,EAAE+0C,mBAAmB1uB,KAAKgB,GAAGrnB,IAAIA,EAAEg1C,cAAch1C,EAAEg1C,cAAc3uB,KAAKgB,GAAGrnB,IAAIA,EAAEi1C,uBAAuBj1C,EAAEi1C,uBAAuB5uB,KAAKgB,GAAGrnB,IAAIA,EAAEk1C,wBAAwBl1C,EAAEk1C,wBAAwB7uB,KAAKgB,GAAGrnB,IAAIA,EAAEm1C,sBAAsBn1C,EAAEm1C,sBAAsB9uB,KAAKgB,GAAGrnB,IAAIA,EAAEo1C,iBAAiBp1C,EAAEo1C,iBAAiB/uB,KAAKgB,GAAGrnB,IAAIA,EAAEq1C,YAAYr1C,EAAEq1C,YAAYhvB,KAAKgB,GAAGrnB,IAAIA,EAAEs1C,iBAAiBt1C,EAAEs1C,iBAAiBjvB,KAAKgB,GAAGrnB,IAAIA,EAAEu1C,WAAWv1C,EAAEu1C,WAAWlvB,KAAKgB,GAAGrnB,IAAIA,EAAEw1C,UAAUx1C,EAAEw1C,UAAUnvB,KAAKgB,GAAGrnB,IAAIA,EAAEy1C,WAAWz1C,EAAEy1C,WAAWpvB,KAAKgB,GAAGrnB,IAAIA,EAAE01C,iBAAiB11C,EAAE01C,iBAAiBrvB,KAAKgB,GAAGrnB,IAAIA,EAAE21C,WAAW31C,EAAE21C,WAAWtvB,KAAKgB,GAAGrnB,IAAIA,EAAE41C,wBAAwB51C,EAAE61C,aAAa71C,EAAE61C,aAAarlB,EAAExwB,EAAE41C,wBAAwB9oD,EAAEonD,cAAc,CAAC5G,UAAS,IAAKxgD,EAAEgpD,WAAW91C,EAAE+1C,WAAW,IAAI/1C,CAAC,CAAC,OAAY/F,EAAE,CAAC,CAACiF,IAAI,oBAAoBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAEkpD,SAASzpD,EAAEO,EAAEmpD,iBAAiBj2C,GAAGgD,KAAKuvC,OAAOhmD,EAAEqC,OAAOogB,iBAAiB,UAAUhM,KAAK0xC,eAAe1xC,KAAKqxC,aAAahkC,QAAQrB,iBAAiB,UAAUhM,KAAK0xC,eAAe9lD,OAAOogB,iBAAiB,YAAYhM,KAAK2xC,iBAAiB/lD,OAAOogB,iBAAiB,YAAYhM,KAAK6xC,gBAAgB,CAACtuB,SAAQ,IAAKvjB,KAAKkzC,+BAA+BlzC,KAAKyxC,0BAA0BzxC,KAAKmzC,mCAAmCnzC,KAAKuxC,mBAAmBvxC,KAAKozC,sBAAsB,GAAG,CAACl3C,IAAI,qBAAqBvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKuuB,MAAMt3B,EAAE1N,EAAE8pD,MAAMt2C,EAAExT,EAAEupD,SAASz1C,EAAE9T,EAAE2nD,cAAc5nD,EAAEC,EAAE+pD,cAAc1M,EAAEr9C,EAAEmnD,WAAW7nD,EAAEU,EAAEgqD,kBAAkBj2C,EAAE/T,EAAEiqD,eAAej3C,EAAEhT,EAAE0pD,iBAAiBv2C,EAAEsD,KAAKiuB,MAAMzxB,EAAEE,EAAE+zC,aAAa1mD,EAAE2S,EAAEszC,UAAUnzC,EAAE/S,EAAEupD,MAAMhrD,SAAS4O,EAAE5O,OAAOuU,GAAGyzB,IAAIvmC,EAAEupD,MAAMp8C,GAAGgG,EAAEnT,EAAE4mD,aAAa9J,EAAEnqC,EAAE3S,EAAEypD,oBAAoB1qD,EAAEuT,EAAEtS,EAAE0pD,iBAAiBl2C,EAAEhU,IAAIQ,EAAEwpD,eAAej2C,IAAIvT,EAAEonD,eAAennD,IAAIiW,KAAKwvC,QAAQxvC,KAAKuvC,QAAQ9yC,IAAIuD,KAAKyzC,uBAAuBzzC,KAAKkzC,+BAA+BlzC,KAAKyxC,0BAA0BzxC,KAAKmzC,mCAAmCnzC,KAAKuxC,oBAAoBn1C,GAAGkB,GAAG0C,KAAKmzC,mCAAmCnzC,KAAKuxC,mBAAmBn1C,IAAIkB,GAAG0C,KAAK0zC,kCAAkC72C,GAAGT,IAAI4D,KAAK4xC,eAAe50C,EAAEyzC,eAAej0C,GAAGwD,KAAK2zC,oBAAoB7pD,EAAEonD,gBAAgB7zC,IAAI2C,KAAK6yC,aAAarlB,EAAExtB,KAAK4yC,wBAAwBv1C,EAAE,CAACitC,UAAS,MAAOvtC,GAAGjT,EAAEgpD,WAAWl2C,IAAIoD,KAAK+yC,WAAW,IAAIx2C,IAAIzS,EAAEmpD,mBAAmB12C,GAAGyD,KAAKqxC,aAAahkC,QAAQpB,oBAAoB,UAAUjM,KAAK0xC,eAAe9lD,OAAOogB,iBAAiB,UAAUhM,KAAK0xC,iBAAiB9lD,OAAOqgB,oBAAoB,UAAUjM,KAAK0xC,eAAe1xC,KAAKqxC,aAAahkC,QAAQrB,iBAAiB,UAAUhM,KAAK0xC,kBAAkBz0C,GAAGL,IAAIoD,KAAK4zC,SAAS,CAACnD,aAAa7J,EAAEiN,WAAW,CAAC3gC,WAAW,SAAS,GAAG,CAAChX,IAAI,uBAAuBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAM0kB,iBAAiBrnD,OAAOqgB,oBAAoB,YAAYjM,KAAK2xC,iBAAiB/lD,OAAOqgB,oBAAoB,YAAYjM,KAAK6xC,iBAAiB7xC,KAAK8zC,0BAA0B9zC,KAAKyzC,uBAAuBzzC,KAAK+zC,sBAAsBnoD,OAAOooD,cAAch0C,KAAK+zC,qBAAqB/zC,KAAK+zC,oBAAoB,MAAM/zC,KAAKi0C,iBAAiBroD,OAAOu5B,aAAanlB,KAAKi0C,iBAAiBnqD,EAAE8B,OAAOqgB,oBAAoB,UAAUjM,KAAK0xC,eAAe1xC,KAAKqxC,aAAahkC,QAAQpB,oBAAoB,UAAUjM,KAAK0xC,cAAc,GAAG,CAACx1C,IAAI,YAAYvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKhD,EAAEgD,KAAKiuB,MAAM1kC,EAAEyT,EAAEyzC,aAAax5C,EAAE+F,EAAEk3C,gBAAgBn3C,EAAEiD,KAAKuuB,MAAMlxB,EAAEN,EAAEo3C,QAAQ7qD,EAAEyT,EAAEm0C,cAAclxC,KAAKi0C,gBAAgBroD,OAAOq5B,YAAY,WAAWhuB,IAAInN,EAAE8pD,SAAS,CAACM,iBAAiBj9C,EAAEk6C,oBAAmB,IAAK9zC,GAAGA,EAAE9T,GAAG,GAAGD,EAAE,GAAG,GAAG,CAAC4S,IAAI,mBAAmBvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKuuB,MAAM6lB,iBAAiBtqD,EAAE+gB,OAAOzW,WAAWA,WAAWigD,OAAOr0C,KAAK6yC,aAAa71C,EAAElT,GAAGP,GAAGA,EAAEO,EAAEkT,EAAE,GAAG,CAACd,IAAI,uBAAuBvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKA,KAAKs0C,0BAA0B1oD,OAAOu5B,aAAanlB,KAAKs0C,yBAAyBt0C,KAAKs0C,wBAAwB,MAAMt0C,KAAKs0C,wBAAwB1oD,OAAOq5B,YAAY,WAAW17B,EAAEspD,aAAa71C,GAAGzT,EAAEimD,OAAO,GAAG,IAAI,GAAG,CAACtzC,IAAI,wBAAwBvS,MAAM,WAAW,GAAGqW,KAAKs0C,wBAAwB,CAAC,IAAIxqD,EAAEkW,KAAKuuB,MAAMykB,SAASpnD,OAAOu5B,aAAanlB,KAAKs0C,yBAAyBt0C,KAAKs0C,wBAAwB,KAAKxqD,GAAGkW,KAAKuvC,MAAM,CAAC,GAAG,CAACrzC,IAAI,qBAAqBvS,MAAM,SAASG,GAAGkW,KAAK4zC,SAAS,CAACjD,gBAAgB7mD,GAAG,GAAG,CAACoS,IAAI,qBAAqBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAMgmB,eAAev0C,KAAK4zC,SAAS,CAACY,gBAAgB1qD,IAAIkT,GAAGA,EAAElT,EAAE,GAAG,CAACoS,IAAI,qBAAqBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEzT,EAAEyW,KAAKuuB,MAAMt3B,EAAE1N,EAAEkrD,uBAAuB13C,EAAExT,EAAE8pD,MAAMh2C,EAAE2C,KAAKiuB,MAAM3kC,EAAE+T,EAAE0zC,uBAAuBnK,EAAEvpC,EAAE2zC,wBAAwBnoD,EAAEmX,KAAKwxC,YAAYxxC,KAAKwxC,WAAWnkC,QAAQ,GAAGpW,EAAE,OAAO,EAAE,GAAGpO,EAAE,CAAC,GAAGmX,KAAK00C,sBAAsB,CAAC,GAAG7rD,EAAE8rD,cAAc/N,EAAE,OAAO,EAAE5pC,EAAEnU,EAAE8rD,aAAa/N,CAAC,KAAK,CAAC,GAAG/9C,EAAE+rD,aAAatrD,GAAGA,GAAG,EAAE,OAAO,EAAE0T,EAAEnU,EAAE+rD,YAAYtrD,CAAC,CAAC,OAAOQ,GAAGkT,GAAGD,EAAE1U,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC6T,IAAI,wBAAwBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKiuB,MAAMwiB,aAAalnD,EAAEyW,KAAKuuB,MAAMt3B,EAAE1N,EAAEsrD,SAAS93C,EAAExT,EAAE8pD,MAAMh2C,EAAE,GAAG/T,EAAE,OAAOs9C,EAAE,QAAQ,OAAO98C,GAAG,KAAKkT,EAAE,EAAEK,EAAE,IAAIxN,OAAOvG,GAAG,MAAM,KAAK0T,EAAEK,EAAE,IAAIxN,OAAO,UAAU,MAAM,KAAKmN,EAAE,EAAEK,EAAE,IAAIxN,OAAO+2C,GAAG,OAAO7pC,EAAE1U,QAAQ,GAAG4O,IAAI,IAAInN,GAAGkT,IAAID,EAAE1U,OAAO,EAAEgV,EAAE,IAAIxN,OAAO+2C,GAAG98C,IAAIiT,EAAE1U,OAAO,GAAG,IAAI2U,IAAIK,EAAE,IAAIxN,OAAOvG,KAAK+T,CAAC,GAAG,CAACnB,IAAI,2BAA2BvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKiuB,MAAM1kC,EAAEyT,EAAEyzC,aAAax5C,EAAE+F,EAAE6zC,mBAAmB9zC,EAAEC,EAAE83C,cAAcz3C,EAAE9T,IAAIwT,EAAEzT,EAAE,IAAIQ,GAAG,IAAIiT,EAAE6pC,EAAE,IAAI98C,GAAG,IAAIiT,EAAElU,EAAE,IAAIiB,GAAG,IAAIP,EAAE+T,EAAE,IAAIxT,GAAG,IAAIP,EAAEgT,EAAE,IAAItF,EAAEyF,GAAG,IAAInT,EAAE,IAAIO,EAAEmN,EAAE,OAAOA,EAAE,EAAE+I,KAAK+0C,UAAU,OAAO99C,EAAE,IAAI+I,KAAK+0C,UAAU,SAASz3C,GAAGrG,EAAE,IAAIyF,GAAG,IAAIzF,GAAGpO,GAAGoO,EAAE,IAAIyF,EAAE,IAAIzF,GAAGoG,EAAE/T,GAAGiT,GAAG,SAASyD,KAAK+0C,UAAUr4C,EAAE,IAAIkqC,GAAGrqC,GAAG,UAAUyD,KAAK+0C,YAAYr4C,GAAG,MAAMY,GAAGf,GAAG,SAASyD,KAAK+0C,YAAYr4C,GAAG,KAAK7T,GAAG0T,GAAG,UAAUyD,KAAK+0C,YAAYr4C,EAAE,MAAMA,CAAC,GAAG,CAACR,IAAI,wBAAwBvS,MAAM,WAAW,OAAOqW,KAAK00C,sBAAsB,CAAC76B,OAAO7Z,KAAKiuB,MAAM+mB,2BAA2B,CAAC,CAAC,GAAG,CAAC94C,IAAI,gBAAgBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKiuB,MAAM1kC,EAAEyT,EAAEyzC,aAAax5C,EAAE+F,EAAE6zC,mBAAmB9zC,EAAEC,EAAE62C,WAAWx2C,EAAE2C,KAAKuuB,MAAMjlC,EAAE+T,EAAEw3C,SAASjO,EAAEvpC,EAAEg2C,MAAMxqD,EAAEwU,EAAE43C,eAAe33C,EAAED,EAAE63C,MAAM34C,GAAG,IAAIhT,EAAEmT,EAAEkqC,EAAEv+C,OAAO,EAAEmU,GAAGD,EAAE,IAAIzS,IAAIwT,GAAG,EAAE,GAAGrG,EAAE3N,GAAGs9C,EAAEv+C,OAAO,IAAI,IAAIkB,GAAGO,IAAI4S,EAAEF,GAAG,KAAKc,GAAG,EAAE,GAAGrG,EAAE1N,IAAImT,GAAG,IAAI5S,IAAI0S,EAAE,KAAKc,GAAG,EAAE,GAAGrG,IAAI3N,GAAG,IAAIs9C,EAAEv+C,SAASmU,EAAEwD,KAAKm1C,yBAAyBrrD,IAAI,IAAIC,EAAE,aAAa8F,OAAO2M,EAAE,SAAS,OAAO3T,IAAIkB,EAAE,eAAe8F,OAAO2M,EAAE,aAAaghB,GAAG,CAACigB,QAAQz9B,KAAKo1C,eAAetrD,GAAG,UAAU,OAAOurD,gBAAgBtrD,EAAEurD,aAAavrD,EAAEwrD,YAAYxrD,EAAEyrD,WAAWzrD,EAAE0rD,UAAU1rD,GAAGgT,EAAE,GAAG,CAACb,IAAI,kBAAkBvS,MAAM,WAAW,OAAOqW,KAAKiuB,MAAMwiB,YAAY,GAAG,CAACv0C,IAAI,oBAAoBvS,MAAM,WAAW,IAAIG,EAAEkT,EAAEgD,KAAKuuB,MAAMhlC,EAAEyT,EAAEi4C,eAAeh+C,EAAE+F,EAAEk4C,MAAMn4C,EAAEiD,KAAKiuB,MAAM5wB,EAAEN,EAAE4zC,gBAAgBrnD,EAAEyT,EAAEk0C,YAAYrK,EAAE3vC,GAAG,EAAEoG,EAAEA,EAAE,OAAO2C,KAAK00C,uBAAuB5qD,EAAE,gBAAgB+F,OAAOwN,EAAE,OAAO9T,IAAIO,EAAE,kBAAkB+F,OAAOwN,EAAE,aAAavT,EAAE,aAAa+F,OAAO+2C,EAAE,UAAUr9C,IAAIO,EAAE,eAAe+F,OAAO+2C,EAAE,eAAeppB,GAAG,CAAC63B,gBAAgBvrD,EAAEwrD,aAAaxrD,EAAEyrD,YAAYzrD,EAAE0rD,WAAW1rD,EAAE2rD,UAAU3rD,GAAGR,EAAE,GAAG,CAAC4S,IAAI,gBAAgBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKzW,EAAEyW,KAAKiuB,MAAMwiB,aAAax5C,EAAE+I,KAAKuuB,MAAMxxB,EAAE9F,EAAEo8C,MAAM/pD,EAAE2N,EAAEy+C,qBAAqB9O,EAAE3vC,EAAE+jC,QAAQnyC,EAAEoO,EAAE67C,SAASx1C,EAAErG,EAAE0+C,YAAYp5C,EAAEtF,EAAE2+C,WAAWl5C,EAAEzF,EAAE4+C,aAAar5C,EAAEvF,EAAE6+C,YAAY/rD,EAAEkN,EAAE8+C,aAAal5C,EAAE5F,EAAEs7C,WAAW31C,EAAE3F,EAAEq7C,iBAAiBr1C,EAAEhG,EAAEu8C,eAAe/2C,EAAExF,EAAE++C,YAAY55C,EAAE,GAAGe,EAAE,GAAGD,EAAE,GAAG,OAAOH,EAAEtW,SAAS,SAASwQ,EAAE8F,GAAG,IAAIs+B,EAAEvxC,EAAEmsD,sBAAsBl5C,GAAG29B,EAAEzjC,EAAEi/C,cAAc,IAAIrmD,OAAOoH,EAAEi/C,eAAe,GAAGllB,EAAE/5B,EAAEk/C,eAAe,IAAItmD,OAAOoH,EAAEk/C,gBAAgB,GAAG3vB,EAAEvvB,EAAEs7C,YAAY11C,GAAG/S,EAAEyoD,WAAW51C,EAAE1F,EAAEq7C,kBAAkB11C,GAAG9S,EAAEwoD,iBAAiBzpB,GAAGhgC,GAAGwyC,GAAGvxC,EAAEipD,WAAWh2C,GAAG8rB,GAAGhgC,IAAIiB,EAAEipD,WAAWh2C,KAAKjT,EAAEipD,WAAWh2C,IAAG,GAAI,IAAI9W,EAAE6D,EAAEssD,cAAcr5C,GAAGpQ,EAAE0Q,IAAIhP,cAAc,MAAM,CAAC,aAAa,eAAewB,OAAOkN,EAAE,GAAGb,IAAI,SAASrM,OAAOkN,GAAGs5C,SAAS,KAAKrH,UAAU,uBAAuBn/C,OAAOwrC,EAAE,KAAKxrC,OAAO6qC,GAAGvxB,MAAMljB,EAAE+0C,QAAQ4L,EAAE0P,QAAQxsD,EAAEysD,iBAAiBZ,YAAYr4C,EAAEs4C,WAAWr5C,EAAEs5C,aAAan5C,EAAEo5C,YAAYt5C,EAAEg6C,QAAQh6C,EAAEu5C,aAAahsD,EAAE0sD,KAAK,UAAU5tB,EAAErC,EAAEvvB,GAAGoG,IAAIhP,cAAc,MAAM,CAAC8a,MAAM,CAAC0Q,OAAO,WAAW,GAAGzd,EAAEvV,KAAK8F,GAAGsQ,GAAGhG,EAAEy/C,UAAU,CAAC,IAAIxjB,EAAEl2B,EAAE,0BAA0Bg0B,EAAE,CAAC2lB,OAAOptD,IAAIwT,IAAII,EAAEtW,KAAKwW,IAAIhP,cAAc,SAAS,CAAC6N,IAAI,aAAarM,OAAOkN,GAAGzC,KAAK,SAAS+7C,SAAS,IAAI,eAAe9sD,IAAIwT,EAAE,OAAO,QAAQ,aAAa,eAAelN,OAAOkN,EAAE,GAAGiyC,UAAU9b,EAAE6iB,aAAazsD,EAAEQ,EAAEqoD,sBAAsB,KAAK2D,YAAY,SAAS94C,GAAG,OAAOlT,EAAE8sD,yBAAyB55C,EAAED,EAAE,EAAEy5C,QAAQ,SAASx5C,GAAG,OAAOlT,EAAE8sD,yBAAyB55C,EAAED,EAAE,EAAEu5C,QAAQ,SAASt5C,GAAG,OAAOlT,EAAE+sD,qBAAqB75C,EAAED,EAAE,EAAEi+B,QAAQ,SAASh+B,GAAG,OAAOlT,EAAEsqD,iBAAiBp3C,EAAED,EAAE,GAAGJ,EAAE1F,IAAI,CAAC,GAAGwF,EAAE,CAAC,IAAI+wB,EAAExwB,EAAE,uBAAuB/F,EAAE6/C,YAAY,CAACH,OAAOptD,IAAIwT,IAAIG,EAAErW,KAAKwW,IAAIhP,cAAc,SAAS,CAACiM,KAAK,SAAS4B,IAAI,UAAUrM,OAAOkN,GAAGiyC,UAAUxhB,EAAEwN,QAAQ,SAASh+B,GAAG,OAAO/F,EAAE8/C,eAAe9/C,EAAE8/C,cAAc,CAACC,KAAK//C,EAAEggD,UAAUl6C,EAAE0zC,aAAalnD,IAAIyT,EAAE6N,OAAOwpC,OAAOvqD,EAAE+oD,aAAaj9C,KAAK9L,EAAEiT,EAAEC,EAAE,EAAE,eAAezT,IAAIwT,EAAE,OAAO,QAAQ,aAAa,eAAelN,OAAOkN,EAAE,KAAK,CAAC,IAAI,CAACm6C,OAAO96C,EAAEo1C,WAAWr0C,EAAEg6C,QAAQj6C,EAAE,GAAG,CAAChB,IAAI,wBAAwBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAM8kB,MAAMr2C,EAAEgD,KAAKiuB,MAAM1kC,EAAEyT,EAAE83C,cAAc79C,EAAE+F,EAAEyzC,aAAa1zC,EAAEjT,EAAEzB,OAAO,EAAE,OAAO4mB,KAAKw5B,IAAIl/C,EAAE0N,GAAG,KAAK,IAAI1N,GAAG0N,IAAI8F,MAAMxT,IAAIwT,GAAG,IAAI9F,EAAE,GAAG,CAACiF,IAAI,qBAAqBvS,MAAM,SAASG,GAAG,OAAOA,IAAIkW,KAAKuuB,MAAM8kB,MAAMhrD,OAAO,GAAG,IAAIyB,CAAC,GAAG,CAACoS,IAAI,uBAAuBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKiuB,MAAM1kC,EAAEyT,EAAEk3C,gBAAgBj9C,EAAE+F,EAAE83C,cAAc/3C,EAAEC,EAAEyzC,aAAa,OAAOlnD,KAAKO,IAAImN,GAAGnN,IAAIiT,EAAE,GAAG,CAACb,IAAI,iBAAiBvS,MAAM,SAASG,GAAG,OAAOkW,KAAKo3C,qBAAqBttD,IAAIkW,KAAKq3C,0BAA0Br3C,KAAKs3C,mBAAmBxtD,EAAE,GAAG,CAACoS,IAAI,oBAAoBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAMjxB,EAAElT,EAAE2mD,aAAalnD,EAAEO,EAAEqnD,mBAAmBl6C,GAAG+I,KAAKu3C,mBAAmBv6C,GAAGzT,IAAI,IAAIyT,EAAEgD,KAAK4zC,SAAS,CAACjD,gBAAgB,EAAEC,sBAAsB,IAAI5wC,KAAK4zC,SAAS,CAACjD,gBAAgB15C,EAAE25C,sBAAsB35C,IAAI,GAAG,CAACiF,IAAI,WAAWvS,MAAM,WAAW,OAAOqW,KAAKuuB,MAAM8kB,MAAMhrD,QAAQ,CAAC,GAAG,CAAC6T,IAAI,eAAevS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAE+qD,SAAStrD,EAAEO,EAAEorD,MAAM,OAAOl4C,IAAIzT,EAAEyW,KAAKw3C,eAAex3C,KAAKy3C,mBAAmB,GAAG,CAACv7C,IAAI,gBAAgBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAE+qD,SAAStrD,EAAEO,EAAEorD,MAAM,OAAOl4C,IAAIzT,EAAEyW,KAAKy3C,mBAAmBz3C,KAAKw3C,eAAe,GAAG,CAACt7C,IAAI,mBAAmBvS,MAAM,WAAW,OAAOqW,KAAKiuB,MAAMwiB,aAAa,CAAC,GAAG,CAACv0C,IAAI,eAAevS,MAAM,WAAW,OAAOqW,KAAKiuB,MAAMwiB,aAAazwC,KAAKuuB,MAAM8kB,MAAMhrD,OAAO,CAAC,GAAG,CAAC6T,IAAI,gBAAgBvS,MAAM,SAASG,GAAG,IAAIkT,EAAElT,EAAEizB,MAAMxzB,EAAEO,EAAE6+C,KAAK1xC,EAAEnN,EAAE++C,IAAI9rC,EAAEiD,KAAKuuB,MAAMlxB,EAAEN,EAAE26C,aAAapuD,EAAEyT,EAAEyW,gBAAgBozB,EAAE5mC,KAAKiuB,MAAMplC,EAAE+9C,EAAEkK,aAAaxzC,EAAEspC,EAAEsN,gBAAgB33C,EAAEqqC,EAAE+Q,cAAcj7C,EAAEkqC,EAAEgR,iBAAiB,GAAG3gD,IAAIwkB,GAAGguB,IAAIxyC,IAAIwkB,GAAG6tB,OAAO/sC,GAAGG,GAAG,GAAGzF,IAAIwkB,GAAG8tB,MAAMtyC,IAAIwkB,GAAG+tB,OAAO9sC,GAAGsD,KAAK4zC,SAAS,CAACgE,kBAAiB,KAAMv6C,EAAE,CAAC,IAAIb,EAAEwD,KAAKuuB,MAAMspB,0BAA0B,GAAGvuD,GAAG0T,EAAE2X,iBAAiBrX,EAAE0C,KAAK4zC,SAAS,CAAC/C,mBAAmB,QAAQ,CAAC,IAAI9mD,EAAEkN,IAAIwkB,GAAG+tB,MAAM,GAAG,EAAE3sC,EAAEtT,EAAEV,EAAE,IAAIomB,KAAKw5B,IAAI5rC,IAAI,MAAMA,EAAE,KAAK,IAAID,EAAE,CAACsW,WAAW,aAAarjB,OAAO2M,EAAE,gBAAgBwD,KAAK4zC,SAAS,CAAC/C,mBAAmB9mD,EAAE8S,EAAEg3C,WAAWj3C,GAAG,CAAC,OAAOL,GAAGyD,KAAK4zC,SAAS,CAAC+D,eAAc,GAAI,GAAG,CAACz7C,IAAI,yBAAyBvS,MAAM,SAASG,GAAG,IAAIkT,EAAElT,EAAEizB,MAAMxzB,EAAEO,EAAE6+C,KAAK1xC,EAAEnN,EAAE8+C,KAAK7rC,EAAEjT,EAAE++C,IAAIxrC,EAAE2C,KAAKuuB,MAAMjlC,EAAE+T,EAAEmW,gBAAgBozB,EAAEvpC,EAAEy6C,mCAAmCjvD,EAAEmX,KAAKiuB,MAAM3wB,EAAEzU,EAAE+nD,sBAAsBr0C,EAAE1T,EAAEmoD,wBAAwBt0C,EAAE7T,EAAEkoD,uBAAuBv0C,EAAE3T,EAAE8uD,cAAc5tD,EAAElB,EAAE+uD,iBAAiB,GAAG53C,KAAK00C,sBAAsB,CAAC,IAAI33C,IAAI0e,GAAG8tB,MAAMxsC,IAAI0e,GAAG+tB,OAAOz/C,KAAKyS,EAAE,YAAYzS,GAAGiW,KAAK4zC,SAAS,CAACgE,kBAAiB,KAAM76C,IAAI0e,GAAGguB,IAAI1sC,IAAI0e,GAAG6tB,MAAM9sC,GAAGwD,KAAK4zC,SAAS,CAAC+D,eAAc,GAAI,KAAK,CAAC,IAAI56C,IAAI0e,GAAGguB,IAAI1sC,IAAI0e,GAAG6tB,MAAM9sC,KAAKzS,EAAE,YAAYyS,GAAGwD,KAAK4zC,SAAS,CAAC+D,eAAc,KAAM56C,IAAI0e,GAAG8tB,MAAMxsC,IAAI0e,GAAG+tB,OAAOz/C,GAAGiW,KAAK4zC,SAAS,CAACgE,kBAAiB,GAAI,CAAC,IAAI/6C,EAAED,EAAEK,EAAER,EAAEL,EAAEe,EAAE6C,KAAKwxC,YAAYxxC,KAAKwxC,WAAWnkC,QAAQ,GAAGrN,KAAK00C,uBAAuB73C,EAAES,GAAGP,IAAI0e,GAAG6tB,KAAKryC,GAAGA,GAAG2F,EAAEO,EAAEw3C,aAAap4C,EAAE,GAAGU,EAAEgS,KAAKw5B,IAAI5rC,GAAGD,EAAEH,EAAEI,EAAE,GAAGT,EAAEe,EAAEw3C,cAAcp4C,IAAIM,EAAES,GAAGP,IAAI0e,GAAG+tB,MAAMjgD,GAAGA,GAAGqT,EAAEO,EAAEy3C,YAAYl4C,EAAE,GAAGO,EAAEgS,KAAKw5B,IAAI5rC,GAAGD,EAAEH,EAAEI,EAAE,GAAGT,EAAEe,EAAEy3C,aAAal4C,IAAIN,IAAIW,IAAI0e,GAAG8tB,MAAMxsC,IAAI0e,GAAGguB,KAAKxsC,KAAKF,IAAI0e,GAAG+tB,OAAOzsC,IAAI0e,GAAG6tB,OAAO7sC,GAAG,CAACnT,GAAG0T,EAAEwW,kBAAkB,IAAItW,EAAE,CAACgW,WAAW,aAAarjB,OAAO+2C,EAAE,gBAAgB5mC,KAAK4zC,SAAS,CAACjD,gBAAgB9zC,EAAEo0C,YAAY/zC,GAAG,CAAC,GAAG,CAAChB,IAAI,0BAA0BvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAM0iB,gBAAgB3zC,EAAEgD,KAAKuuB,MAAM2iB,cAAclxC,KAAK+3C,wBAAwB/3C,KAAK4zC,SAAS,CAACzC,oBAAmB,EAAGP,sBAAsB9mD,EAAEmnD,YAAY,CAAC/9B,WAAW,OAAOrjB,OAAOmN,EAAE,iBAAiB,GAAG,CAACd,IAAI,kBAAkBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAM4iB,mBAAmB7zC,EAAEgD,KAAKuuB,MAAMypB,eAAe,OAAO/oC,KAAKw5B,IAAI3+C,GAAGkT,CAAC,GAAG,CAACd,IAAI,wBAAwBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAMjxB,EAAElT,EAAE6tD,cAAcpuD,EAAEO,EAAE8tD,iBAAiB56C,GAAGgD,KAAK4zC,SAAS,CAAC+D,eAAc,IAAKpuD,GAAGyW,KAAK4zC,SAAS,CAACgE,kBAAiB,GAAI,GAAG,CAAC17C,IAAI,iBAAiBvS,MAAM,SAASG,GAAG,IAAIkT,EAAElT,EAAEizB,MAAMxzB,EAAEO,EAAE++C,IAAI5xC,EAAEnN,EAAEg/C,SAAS/rC,EAAEiD,KAAKuuB,MAAMlxB,EAAEN,EAAE26C,aAAapuD,EAAEyT,EAAEyW,gBAAgBozB,EAAE7pC,EAAEk7C,eAAe,IAAI56C,EAAE,CAAC,IAAIxU,EAAEmX,KAAKuuB,MAAM2mB,MAAM5rD,GAAG0T,EAAEwW,kBAAkBxT,KAAK+3C,wBAAwB,IAAIz6C,GAAG/T,IAAIkyB,GAAG8tB,KAAK,GAAG,IAAI1gD,GAAG,EAAE,GAAG0T,EAAEhT,IAAIkyB,GAAGguB,IAAIlgD,IAAIkyB,GAAG6tB,KAAK5sC,EAAEzF,EAAE2vC,IAAIrqC,EAAEyD,KAAKk4C,iBAAiB56C,EAAEZ,EAAE,CAAC,GAAG,CAACR,IAAI,mBAAmBvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKiuB,MAAMh3B,EAAE1N,EAAEknD,aAAa1zC,EAAExT,EAAE2qD,gBAAgB72C,EAAEpG,GAAG+I,KAAKm4C,oBAAoBn7C,GAAGD,IAAIM,GAAGvT,KAAK,IAAIA,IAAIkW,KAAKo4C,gBAAgB,IAAItuD,IAAIkW,KAAKq4C,mBAAmBh7C,EAAEpG,GAAG+I,KAAK4yC,wBAAwBv1C,EAAE,GAAG,CAACnB,IAAI,kBAAkBvS,MAAM,SAASG,GAAGkW,KAAKiuB,MAAM2pB,kBAAkB9tD,EAAE6qB,gBAAgB,GAAG,CAACzY,IAAI,kBAAkBvS,MAAM,WAAWqW,KAAKqxC,aAAahkC,QAAQirC,UAAU74C,IAAI,4BAA4B,GAAG,CAACvD,IAAI,gBAAgBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAMhlC,EAAEyT,EAAEu7C,eAAethD,EAAE+F,EAAEw7C,qBAAqBz7C,EAAEiD,KAAKiuB,MAAMqgB,aAAa,GAAGtuC,KAAKqxC,aAAahkC,QAAQirC,UAAUhkD,OAAO,8BAA8B/K,EAAE,OAAO0gD,SAASngD,EAAEiqB,SAASjqB,EAAE2vB,OAAO,EAAE,KAAK,KAAK,GAAGzZ,KAAKo4C,iBAAiBp4C,KAAK+zC,qBAAqB/zC,KAAKwyC,UAAU1oD,GAAG,MAAM,KAAK,GAAGkW,KAAKq4C,kBAAkBr4C,KAAK+zC,qBAAqB/zC,KAAKyyC,WAAW3oD,GAAG,MAAM,KAAK,GAAGiT,IAAI9F,GAAG+I,KAAKy4C,iBAAiB,GAAG,CAACv8C,IAAI,mBAAmBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAMmqB,gBAAgB17C,IAAI,IAAIlT,EAAE+gB,OAAOkzB,IAAIv2C,QAAQwV,KAAKlT,EAAE+gB,OAAOkzB,IAAI/gC,EAAE,GAAG,CAACd,IAAI,iCAAiCvS,MAAM,WAAWqW,KAAK24C,gCAAgC34C,KAAKuxC,mBAAmBvxC,KAAKuxC,kBAAkBlkC,UAAUrN,KAAK24C,+BAA+B7K,UAAU9tC,KAAKuxC,kBAAkBlkC,SAASrN,KAAK24C,+BAA+B,KAAK,GAAG,CAACz8C,IAAI,uBAAuBvS,MAAM,WAAWqW,KAAK44C,4BAA4B54C,KAAKyxC,0BAA0BzxC,KAAKyxC,yBAAyBpkC,UAAUrN,KAAK44C,2BAA2B9K,UAAU9tC,KAAKyxC,yBAAyBpkC,SAASrN,KAAK44C,2BAA2B,MAAM54C,KAAK0zC,gCAAgC,GAAG,CAACx3C,IAAI,eAAevS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAMwiB,aAAazwC,KAAKqxC,eAAerxC,KAAKqxC,cAAcrxC,KAAKqxC,aAAahkC,SAASrN,KAAK4zC,SAAS,CAAC9C,aAAa9wC,KAAKqxC,aAAahkC,QAAQwrC,cAAc74C,KAAKyxC,0BAA0BzxC,KAAKyxC,yBAAyBpkC,SAASrN,KAAK4zC,SAAS,CAACoB,0BAA0Bh1C,KAAKyxC,yBAAyBpkC,QAAQyrC,eAAe94C,KAAK+4C,oBAAoB/4C,KAAKu3C,mBAAmBztD,IAAI,GAAG,CAACoS,IAAI,iCAAiCvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKlW,IAAIA,EAAEujB,UAAUrN,KAAK44C,2BAA2B,IAAIra,GAAErL,GAAG,SAASppC,GAAGA,GAAGA,EAAErD,SAAS,SAASqD,GAAGkT,EAAE42C,SAAS,CAAC7C,uBAAuBjnD,EAAEyjD,YAAY3zB,OAAO5c,EAAE40C,aAAa,GAAG,GAAG,KAAK5xC,KAAK44C,2BAA2B9M,QAAQhiD,EAAEujB,SAAS,GAAG,CAACnR,IAAI,qCAAqCvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKlW,IAAIA,EAAEujB,UAAUrN,KAAK24C,+BAA+B,IAAIpa,GAAErL,GAAG,SAASppC,GAAGA,GAAGA,EAAErD,SAAS,SAASqD,GAAGkT,EAAE42C,SAAS,CAAC5C,wBAAwBlnD,EAAEyjD,YAAY1zB,QAAQ7c,EAAE40C,aAAa,GAAG,GAAG,KAAK5xC,KAAK24C,+BAA+B7M,QAAQhiD,EAAEujB,SAAS,GAAG,CAACnR,IAAI,mBAAmBvS,MAAM,WAAWqW,KAAKiuB,MAAMqgB,aAAatuC,KAAKy4C,iBAAiBz4C,KAAKg5C,YAAY,GAAG,CAAC98C,IAAI,aAAavS,MAAM,WAAWqW,KAAK+zC,oBAAoB/zC,KAAKwvC,QAAQxvC,KAAKuvC,MAAM,GAAG,CAACrzC,IAAI,qBAAqBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAEyqD,eAAehrD,EAAEO,EAAE0uD,qBAAqBvhD,EAAElL,SAASktD,mBAAmBltD,SAASmtD,qBAAqBntD,SAASotD,sBAAsBptD,SAASqtD,wBAAwBr8C,EAAEiD,KAAKqxC,aAAahkC,UAAUpW,EAAE+F,GAAGA,EAAED,GAAGxT,GAAGyW,KAAK4zC,SAAS,CAACtF,aAAavxC,GAAG,GAAG,CAACb,IAAI,eAAevS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKiuB,MAAMh3B,EAAE1N,EAAEknD,aAAa1zC,EAAExT,EAAE2qD,gBAAgB72C,EAAE2C,KAAKuuB,MAAMjlC,EAAE+T,EAAEg2C,MAAMzM,EAAEvpC,EAAE6zC,cAAcroD,EAAEwU,EAAEg8C,cAAc,IAAIt8C,EAAE,CAACC,GAAGgD,KAAK+zC,sBAAsB/zC,KAAKwvC,OAAM,GAAIxvC,KAAKuvC,MAAK,IAAK,IAAIjyC,EAAEhU,EAAEjB,OAAO,EAAEkU,EAAEzS,EAAEA,EAAE,EAAEyS,EAAEe,EAAExT,EAAEwT,IAAIf,EAAE,GAAG1T,GAAG0T,IAAItF,GAAGpO,EAAE0T,GAAGyD,KAAK4zC,SAAS,CAACkB,cAAc79C,EAAEw5C,aAAal0C,EAAE23C,gBAAgB33C,IAAItF,EAAE45C,mBAAmB,EAAEgD,WAAW,CAAC3gC,WAAW,OAAOrjB,OAAO+2C,EAAE,iBAAiB5mC,KAAKs5C,UAAU,CAAC,GAAG,CAACp9C,IAAI,YAAYvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAM2mB,MAAMl1C,KAAKu5C,QAAQzvD,EAAEkT,EAAE,QAAQ,OAAO,GAAG,CAACd,IAAI,aAAavS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAM2mB,MAAMl1C,KAAKu5C,QAAQzvD,EAAEkT,EAAE,OAAO,QAAQ,GAAG,CAACd,IAAI,UAAUvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAK/I,EAAE+I,KAAKiuB,MAAMlxB,EAAE9F,EAAEw5C,aAAapzC,EAAEpG,EAAE45C,mBAAmBvnD,EAAE2N,EAAEi9C,gBAAgBtN,EAAE5mC,KAAKuuB,MAAM8kB,MAAMxqD,EAAEkU,GAAG,SAASC,GAAG,EAAE,GAAG1T,IAAI,IAAIs9C,EAAEv+C,OAAO2X,KAAK4zC,SAAS,CAAC/C,mBAAmBxzC,GAAG,SAASL,EAAE,MAAM,MAAM62C,WAAW,CAAC3gC,WAAW,UAAU,WAAWtnB,OAAOq5B,YAAY,WAAW,OAAO17B,EAAEspD,aAAahqD,EAAEiB,EAAE,GAAG,GAAG,IAAIkW,KAAK6yC,aAAahqD,EAAEiB,GAAG,GAAG,CAACoS,IAAI,2BAA2BvS,MAAM,SAASG,EAAEkT,GAAGgD,KAAKuuB,MAAMmnB,sBAAsB11C,KAAKw5C,qBAAqB1vD,EAAEkT,EAAE,GAAG,CAACd,IAAI,uBAAuBvS,MAAM,SAASG,EAAEkT,GAAGgkB,GAAGl3B,IAAIkW,KAAKo0C,iBAAiBtqD,EAAEkT,EAAE,GAAG,CAACd,IAAI,mBAAmBvS,MAAM,SAASG,GAAGk3B,GAAGl3B,KAAI,EAAGkW,KAAKuuB,MAAMyM,SAASlxC,EAAE,GAAG,CAACoS,IAAI,sBAAsBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMglB,kBAAkB,MAAM,SAASzpD,GAAG,UAAUA,CAAC,GAAG,CAACoS,IAAI,uBAAuBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKyd,GAAGh3B,SAAS,SAASuW,GAAGjR,SAASigB,iBAAiBhP,EAAElT,EAAEioD,mBAAmB,GAAG,GAAG,CAAC71C,IAAI,0BAA0BvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKyd,GAAGh3B,SAAS,SAASuW,GAAGjR,SAASkgB,oBAAoBjP,EAAElT,EAAEioD,mBAAmB,GAAG,GAAG,CAAC71C,IAAI,aAAavS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMiqB,qBAAqBx7C,EAAEgD,KAAKqxC,aAAahkC,QAAQvjB,EAAEkT,EAAEy8C,kBAAkBz8C,EAAEy8C,oBAAoBz8C,EAAE08C,oBAAoB18C,EAAE08C,sBAAsB18C,EAAE28C,qBAAqB38C,EAAE28C,uBAAuB38C,EAAE48C,wBAAwB58C,EAAE48C,0BAA0B55C,KAAK65C,oBAAmB,GAAI75C,KAAK65C,oBAAmB,GAAI75C,KAAK4zC,SAAS,CAACtF,cAAa,GAAI,GAAG,CAACpyC,IAAI,iBAAiBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAMqgB,aAAatxC,EAAEgD,KAAKuuB,MAAMiqB,qBAAqB1uD,IAAIkT,EAAEjR,SAAS+tD,eAAe/tD,SAAS+tD,iBAAiB/tD,SAASguD,qBAAqBhuD,SAASguD,uBAAuBhuD,SAASiuD,oBAAoBjuD,SAASiuD,sBAAsBjuD,SAASkuD,iBAAiBluD,SAASkuD,mBAAmBj6C,KAAK65C,oBAAmB,GAAI75C,KAAK65C,oBAAmB,GAAI75C,KAAK4zC,SAAS,CAACtF,cAAa,IAAK,GAAG,CAACpyC,IAAI,cAAcvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMsmB,SAAS73C,EAAEgD,KAAKiuB,MAAMwiB,aAAa3mD,GAAGkW,KAAKq4C,gBAAgBr4C,KAAK6yC,aAAa71C,EAAE,GAAGgD,KAAKwvC,OAAO,GAAG,CAACtzC,IAAI,OAAOvS,MAAM,WAAW,IAAIG,IAAI1B,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG4U,EAAEgD,KAAKuuB,MAAMhlC,EAAEyT,EAAEk9C,OAAOjjD,EAAE+F,EAAEs2C,cAAcv2C,EAAEC,EAAEk0C,cAAc7zC,EAAE2C,KAAKiuB,MAAMwiB,aAAazwC,KAAK+zC,sBAAsB/zC,KAAK4zC,SAAS,CAAC5D,WAAU,IAAKhwC,KAAK+zC,oBAAoBnoD,OAAOuuD,YAAYn6C,KAAKqyC,YAAYpjC,KAAKk7B,IAAIlzC,EAAE8F,IAAIxT,GAAGO,GAAGP,EAAE8T,GAAG,GAAG,CAACnB,IAAI,QAAQvS,MAAM,WAAW,IAAIG,IAAI1B,UAAUC,OAAO,QAAG,IAASD,UAAU,KAAKA,UAAU,GAAG4U,EAAEgD,KAAKuuB,MAAM6rB,QAAQ7wD,EAAEyW,KAAKiuB,MAAMwiB,aAAazwC,KAAK+zC,sBAAsBnoD,OAAOooD,cAAch0C,KAAK+zC,qBAAqB/zC,KAAK+zC,oBAAoB,KAAK/zC,KAAK4zC,SAAS,CAAC5D,WAAU,IAAKhzC,GAAGlT,GAAGkT,EAAEzT,GAAG,GAAG,CAAC2S,IAAI,gBAAgBvS,MAAM,SAASG,GAAG,QAAQkW,KAAKoxC,aAAatnD,EAAE0kD,YAAYxuC,KAAKoxC,aAAatnD,EAAE0kD,WAAU,GAAG,EAAG,GAAG,CAACtyC,IAAI,oBAAoBvS,MAAM,SAASG,EAAEkT,GAAG,IAAIzT,EAAEyW,KAAKuuB,MAAM8rB,aAAar6C,KAAKoxC,aAAap0C,IAAIzT,IAAIyW,KAAKoxC,aAAap0C,IAAG,EAAGzT,EAAEO,GAAG,GAAG,CAACoS,IAAI,aAAavS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKiuB,MAAMqgB,aAAa/kD,EAAEyW,KAAKuuB,MAAMggB,cAAcvuC,KAAKoyC,iBAAiB,OAAO/0C,IAAIhP,cAAcwtB,GAAG,CAACsyB,YAAYrkD,EAAEqkD,YAAYC,WAAWtkD,EAAEskD,WAAWC,kBAAkBruC,KAAKquC,kBAAkBC,aAAatxC,EAAEuxC,aAAahlD,EAAEilD,SAAS1kD,EAAE0kD,SAASC,YAAY3kD,EAAE2kD,YAAYC,eAAe5kD,EAAE4kD,eAAeC,cAAc7kD,EAAE6kD,cAAcC,cAAc9kD,EAAE8kD,cAAcC,MAAM/kD,EAAE+kD,MAAME,QAAQjlD,EAAEilD,QAAQD,OAAOhlD,EAAEglD,QAAQ,GAAG,CAAC5yC,IAAI,mBAAmBvS,MAAM,SAASG,GAAG,IAAIkT,EAAEgD,KAAKuuB,MAAM+rB,kBAAkBt6C,KAAKoyC,iBAAiB,OAAO/0C,IAAIhP,cAAc,OAAO,CAAC2gD,UAAU,iCAAiC3xC,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,gCAAgCjR,IAAIj0C,EAAE4sD,UAAU78B,OAAO/vB,EAAEywD,gBAAgB3gC,MAAM9vB,EAAE0wD,eAAevL,IAAInlD,EAAE2wD,aAAavL,MAAMplD,EAAE4wD,eAAe3L,QAAQjlD,EAAE6wD,iBAAiBxuC,QAAQnP,IAAIlT,EAAE8wD,gBAAgBv9C,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,iCAAiCllD,EAAE8wD,gBAAgB,GAAG,CAAC1+C,IAAI,SAASvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKiuB,MAAM1kC,EAAEO,EAAE2mD,aAAax5C,EAAEnN,EAAEwkD,aAAavxC,EAAEjT,EAAE0qD,gBAAgBlrD,EAAEQ,EAAEkmD,UAAUpJ,EAAE5mC,KAAKuuB,MAAM1lC,EAAE+9C,EAAEiU,gBAAgBv9C,EAAEspC,EAAEkU,sBAAsBv+C,EAAEqqC,EAAEmU,eAAer+C,EAAEkqC,EAAEsO,MAAM14C,EAAEoqC,EAAEyM,MAAMtpD,EAAE68C,EAAE2M,kBAAkB12C,EAAE+pC,EAAEoU,uBAAuBp+C,EAAEgqC,EAAEqU,qBAAqBh+C,EAAE2pC,EAAEsU,cAAcz+C,EAAEmqC,EAAEuU,eAAe/+C,EAAEwqC,EAAEoP,YAAY74C,EAAEypC,EAAEwU,qBAAqBl+C,EAAE0pC,EAAEyU,UAAUhgB,EAAEuL,EAAE4M,eAAe9Y,EAAEkM,EAAE0U,QAAQtqB,EAAE4V,EAAE2U,eAAe/0B,EAAEogB,EAAE4U,sBAAsB7+C,EAAEqD,KAAKy7C,oBAAoB5yB,EAAE7oB,KAAK07C,gBAAgBz1D,EAAE4iC,EAAEquB,OAAOvqD,EAAEk8B,EAAE2oB,WAAWte,EAAErK,EAAEsuB,QAAQ3pB,EAAExwB,EAAE,8BAA8BjT,EAAE,CAAC,oBAAoB2S,IAAIu0B,EAAE5zB,IAAIhP,cAAc,MAAM,CAACwgC,IAAI7uB,KAAKyxC,yBAAyBzC,UAAUxhB,GAAG5wB,GAAGA,IAAIoD,KAAK27C,WAAWt+C,IAAIhP,cAAcgP,IAAIQ,SAAS,KAAK68B,GAAGr9B,IAAIhP,cAAcgP,IAAIQ,SAAS,KAAKZ,EAAE+C,KAAKwyC,WAAWxyC,KAAKo4C,gBAAgB37C,EAAEuD,KAAKyyC,YAAYzyC,KAAKq4C,kBAAkBh7C,IAAIhP,cAAcstB,GAAG,CAACqzB,UAAU,sBAAsBnH,MAAM,EAAEmB,UAAUhpC,KAAKgyC,cAAc/I,SAASjpC,KAAK8xC,gBAAgBz0C,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,wBAAwB/oD,KAAKoX,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,wBAAwB/oD,GAAG+qC,GAAGxK,EAAExmB,KAAK2yC,WAAWrpD,GAAG8S,GAAGiB,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,yBAAyB3xC,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,kCAAkCyH,KAAK,aAAa,aAAa,qBAAqBvjB,IAAI/1B,GAAGN,EAAEmD,KAAK0yC,iBAAiBz7C,GAAGiG,GAAGG,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,uBAAuB3xC,IAAIhP,cAAc,OAAO,CAAC2gD,UAAU,+BAA+BzlD,EAAE,GAAG8T,IAAIhP,cAAc,OAAO,CAAC2gD,UAAU,iCAAiCzyC,GAAGc,IAAIhP,cAAc,OAAO,CAAC2gD,UAAU,6BAA6BxyC,EAAEnU,UAAUgoC,EAAErzB,EAAE,gBAAgBnU,EAAE,CAAC,mBAAmBkU,IAAIg/B,EAAE/+B,EAAE,wBAAwBjT,EAAE,CAACqkD,WAAWn3C,IAAI4rB,EAAE7lB,EAAE,mCAAmCjT,EAAE,CAAC,0BAA0BiW,KAAK00C,uBAAuBh4C,GAAG,CAAC,+BAA+BsD,KAAK00C,wBAAwBp3C,GAAG,CAAC,4BAA4B0C,KAAK00C,wBAAwBp3C,IAAI,OAAOD,IAAIhP,cAAc,MAAM,CAACwgC,IAAI7uB,KAAKqxC,aAAarC,UAAU3e,EAAE,YAAY,UAAUhzB,IAAIhP,cAAc,MAAM,CAAC2gD,UAAUjT,IAAI,WAAWhyC,GAAG,UAAUA,IAAIknC,EAAEoK,GAAG1uC,EAAEtE,OAAO,EAAEgV,IAAIhP,cAAcstB,GAAG,CAACqzB,UAAUnsB,EAAEglB,MAAM,EAAEmB,WAAW1rC,GAAG0C,KAAKiyC,uBAAuBhJ,UAAU3rC,GAAG0C,KAAKkyC,yBAAyB70C,IAAIhP,cAAc,MAAM,CAAC2gD,UAAU,2BAA2BngB,IAAI7uB,KAAKuxC,kBAAkBpoC,MAAMnJ,KAAK47C,yBAAyBv+C,IAAIhP,cAAc,MAAM,CAACwgC,IAAI7uB,KAAKwxC,WAAWxC,UAAU,qCAAqC7lC,MAAMxM,EAAE,aAAa,wBAAwBhQ,KAAK,MAAM,QAAQ5C,GAAG,SAASA,IAAIknC,GAAG,MAAMhQ,GAAl9qBp4B,EAAu9qBrC,UAAUyQ,GAAGpO,CAAC,CAAhvvB,CAAkvvBwU,IAAI4vB,WAAWtO,GAAGtkB,UAAU,CAAC49C,eAAe56B,GAAGjB,OAAOi3B,OAAM,EAAGh2B,GAAG6pB,UAAS,EAAG7pB,GAAGkqB,OAAO,CAACuP,YAAYz5B,GAAG0pB,OAAOgQ,cAAc15B,GAAGp1B,KAAKkmD,YAAY9wB,GAAG0pB,OAAOyH,SAASnxB,GAAG0pB,OAAO2H,eAAerxB,GAAGjB,OAAOuyB,cAActxB,GAAGjB,OAAO2yB,QAAQ1xB,GAAG0pB,OAAOwT,gBAAgBl9B,GAAGjB,OAAOo+B,eAAen9B,GAAGjB,OAAOu+B,iBAAiBt9B,GAAG0pB,OAAOqH,WAAW/wB,GAAG0pB,OAAO0H,YAAYpxB,GAAG0pB,OAAO6H,cAAcvxB,GAAG0pB,OAAO2P,UAAUr5B,GAAG0pB,OAAO0T,aAAap9B,GAAG0pB,OAAO6T,eAAev9B,GAAG0pB,OAAO2T,eAAer9B,GAAG0pB,OAAOmP,cAAc74B,GAAG0pB,OAAOoP,eAAe94B,GAAG0pB,OAAOwL,WAAWl1B,GAAGp1B,KAAKqqD,iBAAiBj1B,GAAGp1B,KAAK4zD,SAASxL,GAAGvB,OAAOzxB,GAAG0pB,OAAO8H,MAAMxxB,GAAG0pB,UAAUF,WAAWyU,QAAQj+B,GAAGypB,KAAKkM,SAAS31B,GAAGypB,KAAKgM,SAASz1B,GAAGypB,KAAK+N,SAASx3B,GAAGypB,KAAKuU,UAAUh+B,GAAGypB,KAAKkP,YAAY34B,GAAGypB,KAAK0M,eAAen2B,GAAGypB,KAAKyU,eAAel+B,GAAGypB,KAAKsU,qBAAqB/9B,GAAGypB,KAAK2N,uBAAuBp3B,GAAGypB,KAAKyR,eAAel7B,GAAGypB,KAAK4Q,aAAar6B,GAAGypB,KAAKgU,sBAAsBz9B,GAAGypB,KAAK0R,qBAAqBn7B,GAAGypB,KAAK4R,gBAAgBr7B,GAAG0pB,OAAOgU,eAAe19B,GAAG0pB,OAAOwM,mBAAkB,EAAGl2B,GAAGgqB,OAAO,CAAC,MAAM,SAAS,OAAO,UAAUqJ,WAAWrzB,GAAGjB,OAAO80B,cAAc7zB,GAAGjB,OAAOk3B,cAAcj2B,GAAGjB,OAAOs5B,qBAAqBr4B,GAAGypB,KAAKkR,eAAe36B,GAAGjB,OAAOy7B,0BAA0Bx6B,GAAGjB,OAAO07B,mCAAmCz6B,GAAGjB,OAAO+3B,QAAQ92B,GAAGp1B,KAAKoxD,cAAch8B,GAAGp1B,KAAKssD,eAAel3B,GAAGp1B,KAAKmyD,QAAQ/8B,GAAGp1B,KAAKiyD,OAAO78B,GAAGp1B,KAAK+yC,QAAQ3d,GAAGp1B,KAAKoyD,YAAYh9B,GAAGp1B,KAAKsmD,aAAalxB,GAAGp1B,KAAK0tD,YAAYt4B,GAAGp1B,KAAK2tD,WAAWv4B,GAAGp1B,KAAK4tD,aAAax4B,GAAGp1B,KAAK6tD,YAAYz4B,GAAGp1B,KAAK8tD,aAAa14B,GAAGp1B,KAAKqyD,iBAAiBj9B,GAAGp1B,KAAKmsD,iBAAiB/2B,GAAGp1B,KAAKgzD,qBAAqB59B,GAAGp1B,KAAKizD,cAAc79B,GAAGp1B,KAAKkzD,eAAe99B,GAAGp1B,KAAKuzD,sBAAsBn+B,GAAGp1B,KAAK+yD,uBAAuB39B,GAAGp1B,KAAKsqD,WAAWl1B,GAAGp1B,KAAKqqD,iBAAiBj1B,GAAGp1B,KAAKurB,gBAAgB6J,GAAGypB,KAAK+T,gBAAgBx9B,GAAG0pB,OAAOkO,eAAe53B,GAAGypB,KAAKoO,MAAM73B,GAAGypB,KAAKmM,iBAAiB51B,GAAGypB,MAAMnoB,GAAG5kB,aAAa,CAAC2+C,gBAAgB,GAAGmC,gBAAgB,GAAGS,SAAQ,EAAGtI,UAAS,EAAGF,UAAS,EAAG+B,UAAS,EAAGwG,WAAU,EAAGrF,aAAY,EAAGxC,gBAAe,EAAG+H,gBAAe,EAAGH,sBAAqB,EAAG3G,wBAAuB,EAAG8D,gBAAe,EAAGb,cAAa,EAAGoD,uBAAsB,EAAG7F,gBAAe,EAAGC,OAAM,EAAGsD,sBAAqB,EAAGP,eAAe,GAAGzkC,iBAAgB,EAAGunC,eAAe,MAAMxH,kBAAkB,SAAS7C,WAAW,EAAEQ,cAAc,IAAI2G,0BAA0B,EAAEC,mCAAmC,EAAE3D,QAAQ,KAAKkF,cAAc,KAAK9E,eAAe,KAAK6F,QAAQ,KAAKF,OAAO,KAAKlf,QAAQ,KAAKqf,YAAY,KAAK9L,aAAa,KAAKoH,YAAY,KAAKC,WAAW,KAAKC,aAAa,KAAKC,YAAY,KAAKC,aAAa,KAAKuE,iBAAiB,KAAKlG,iBAAiB,KAAK6G,qBAAqB,KAAK3I,iBAAiB,KAAKC,WAAW,KAAKe,cAAc,IAAIoC,sBAAqB,EAAGsC,eAAe,GAAGkD,cAAc,SAASpxD,EAAEkT,GAAG,OAAOK,IAAIhP,cAAcktB,GAAG,CAACyf,QAAQlxC,EAAEqb,SAASnI,GAAG,EAAEm+C,eAAe,SAASrxD,EAAEkT,GAAG,OAAOK,IAAIhP,cAAcmtB,GAAG,CAACwf,QAAQlxC,EAAEqb,SAASnI,GAAG,EAAEw+C,sBAAsB,SAAS1xD,EAAEkT,GAAG,OAAOK,IAAIhP,cAAc4uB,GAAG,CAAC+d,QAAQlxC,EAAEkmD,UAAUhzC,GAAG,EAAEg+C,uBAAuB,SAASlxD,EAAEkT,GAAG,OAAOK,IAAIhP,cAAcytB,GAAG,CAACkf,QAAQlxC,EAAEwkD,aAAatxC,GAAG,EAAEi2C,kBAAiB,GAAI,IAAMnyB,GAAGnC,EAAE,CAAz81C,GAA881C5hB,CAAC,CAAxhiD,EAA4hiD,CAAhuiDC,CAAEtD,EAAQ,0CCQzE0C,EAAE,MAAMG,EAAE,MAAMC,EAAE,MAAM1S,EAAE,MAAMC,EAAE,MAAM0S,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAM9T,EAAE,MAAM+T,EAAE,MAAMrT,EAAE,MAAMsT,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMO,EAAE,MAAML,EAAE,MAAMC,EAAE,MACnJ,GAAG,oBAAoBb,QAAQA,OAAOC,IAAI,CAAC,IAAIrW,EAAEoW,OAAOC,IAAIF,EAAEnW,EAAE,iBAAiBsW,EAAEtW,EAAE,gBAAgBuW,EAAEvW,EAAE,kBAAkB6D,EAAE7D,EAAE,qBAAqB8D,EAAE9D,EAAE,kBAAkBwW,EAAExW,EAAE,kBAAkByW,EAAEzW,EAAE,iBAAiB0W,EAAE1W,EAAE,qBAAqB4C,EAAE5C,EAAE,kBAAkB2W,EAAE3W,EAAE,uBAAuBsD,EAAEtD,EAAE,cAAc4W,EAAE5W,EAAE,cAAc6W,EAAE7W,EAAE,eAAe8W,EAAE9W,EAAE,sBAAsBqX,EAAErX,EAAE,qBAAqBgX,EAAEhX,EAAE,0BAA0BiX,EAAEjX,EAAE,sBAAsB,CACjc,SAASkX,EAAEE,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIL,EAAEK,EAAEE,SAAS,OAAOP,GAAG,KAAKZ,EAAE,OAAOiB,EAAEA,EAAE/C,MAAQ,KAAKkC,EAAE,KAAKzS,EAAE,KAAKD,EAAE,KAAKjB,EAAE,KAAK+T,EAAE,OAAOS,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEE,UAAY,KAAKb,EAAE,KAAKC,EAAE,KAAKE,EAAE,KAAKtT,EAAE,KAAKkT,EAAE,OAAOY,EAAE,QAAQ,OAAOL,GAAG,KAAKT,EAAE,OAAOS,EAAE,CAAC,CAElEvB,EAAQsD,mBAAmB,SAAS1B,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIb,GAAGa,IAAItT,GAAGsT,IAAIJ,GAAGI,IAAIvT,GAAGuT,IAAIxU,GAAGwU,IAAIT,GAAGS,IAAIH,GAAG,kBAAkBG,GAAG,OAAOA,IAAIA,EAAEE,WAAWV,GAAGQ,EAAEE,WAAWhU,GAAG8T,EAAEE,WAAWd,GAAGY,EAAEE,WAAWb,GAAGW,EAAEE,WAAWZ,GAAGU,EAAEE,WAAWD,GAAGD,EAAEE,WAAWT,GAAGO,EAAE,KAAKN,EAAQ,EACzetB,EAAQuD,OAAO7B,oCCVb3B,EAAOC,QAAU,EAAjBD,0BCHF,WAAM,IAAI1R,EAAE,CAAC,IAAI,SAACA,EAAEkT,EAAED,GAAK,IAAI6pC,EAAE,aAAar9C,EAAE,qBAAqB0N,EAAE,aAAasF,EAAE,cAAcjT,EAAE2gD,SAAS3sC,EAAE,iBAAiBP,EAAEN,GAAGM,EAAEN,GAAGM,EAAEN,EAAEvX,SAASA,QAAQ6X,EAAEN,EAAE5T,EAAE,iBAAiBmhD,MAAMA,MAAMA,KAAK9kD,SAASA,QAAQ8kD,KAAK3sC,EAAEC,GAAGzU,GAAGgK,SAAS,cAATA,GAA0B9I,EAAE7E,OAAOsB,UAAUU,SAAS2V,EAAEoS,KAAKk7B,IAAIhtC,EAAE8R,KAAK0Q,IAAInjB,EAAE,WAAW,OAAOa,EAAEkY,KAAKC,KAAK,EAAE,SAASpZ,EAAEtS,GAAG,IAAIkT,SAASlT,EAAE,QAAQA,IAAI,UAAUkT,GAAG,YAAYA,EAAE,CAAC,SAASN,EAAE5S,GAAG,GAAG,iBAAiBA,EAAE,OAAOA,EAAE,GAAG,SAASA,GAAG,MAAM,iBAAiBA,GAAG,SAASA,GAAG,QAAQA,GAAG,iBAAiBA,CAAC,CAAzC,CAA2CA,IAAI,mBAAmBC,EAAE6L,KAAK9L,EAAE,CAAjH,CAAmHA,GAAG,OAAOogD,IAAI,GAAG9tC,EAAEtS,GAAG,CAAC,IAAIkT,EAAE,mBAAmBlT,EAAEgc,QAAQhc,EAAEgc,UAAUhc,EAAEA,EAAEsS,EAAEY,GAAGA,EAAE,GAAGA,CAAC,CAAC,GAAG,iBAAiBlT,EAAE,OAAO,IAAIA,EAAEA,GAAGA,EAAEA,EAAEA,EAAExC,QAAQs/C,EAAE,IAAI,IAAI7pC,EAAE9F,EAAEpP,KAAKiC,GAAG,OAAOiT,GAAGR,EAAE1U,KAAKiC,GAAGR,EAAEQ,EAAE+W,MAAM,GAAG9D,EAAE,EAAE,GAAGxT,EAAE1B,KAAKiC,GAAGogD,KAAKpgD,CAAC,CAACA,EAAE2R,QAAQ,SAAS3R,EAAEkT,EAAED,GAAG,IAAI6pC,EAAEr9C,EAAE0N,EAAEsF,EAAEjT,EAAEgU,EAAEzU,EAAE,EAAEwU,GAAE,EAAGtT,GAAE,EAAGkT,GAAE,EAAG,GAAG,mBAAmBnT,EAAE,MAAM,IAAI9B,UAAU,uBAAuB,SAAS4U,EAAEI,GAAG,IAAID,EAAE6pC,EAAE3vC,EAAE1N,EAAE,OAAOq9C,EAAEr9C,OAAE,EAAOV,EAAEmU,EAAET,EAAEzS,EAAElE,MAAMqR,EAAE8F,EAAE,CAAqD,SAASG,EAAEpT,GAAG,IAAIiT,EAAEjT,EAAEwT,EAAE,YAAO,IAASA,GAAGP,GAAGC,GAAGD,EAAE,GAAGhT,GAAGD,EAAEjB,GAAGoO,CAAC,CAAC,SAASwF,IAAI,IAAI3S,EAAE0S,IAAI,GAAGU,EAAEpT,GAAG,OAAOmnC,EAAEnnC,GAAGR,EAAE27B,WAAWxoB,EAAE,SAAS3S,GAAG,IAAIiT,EAAEC,GAAGlT,EAAEwT,GAAG,OAAOvT,EAAEoT,EAAEJ,EAAE9F,GAAGnN,EAAEjB,IAAIkU,CAAC,CAAjD,CAAmDjT,GAAG,CAAC,SAASmnC,EAAEnnC,GAAG,OAAOR,OAAE,EAAO2T,GAAG2pC,EAAEhqC,EAAE9S,IAAI88C,EAAEr9C,OAAE,EAAOgT,EAAE,CAAC,SAASuuC,IAAI,IAAIhhD,EAAE0S,IAAIO,EAAEG,EAAEpT,GAAG,GAAG88C,EAAEx+C,UAAUmB,EAAEyW,KAAK1C,EAAExT,EAAEiT,EAAE,CAAC,QAAG,IAASzT,EAAE,OAArW,SAAWQ,GAAG,OAAOjB,EAAEiB,EAAER,EAAE27B,WAAWxoB,EAAEO,GAAGK,EAAET,EAAE9S,GAAGyS,CAAC,CAAyTy0B,CAAE1zB,GAAG,GAAGvT,EAAE,OAAOT,EAAE27B,WAAWxoB,EAAEO,GAAGJ,EAAEU,EAAE,CAAC,YAAO,IAAShU,IAAIA,EAAE27B,WAAWxoB,EAAEO,IAAIT,CAAC,CAAC,OAAOS,EAAEN,EAAEM,IAAI,EAAEZ,EAAEW,KAAKM,IAAIN,EAAEqtC,QAAQnzC,GAAGlN,EAAE,YAAYgT,GAAGF,EAAEH,EAAEK,EAAEstC,UAAU,EAAErtC,GAAG/F,EAAEgG,EAAE,aAAaF,IAAIA,EAAEutC,SAASrtC,GAAG6tC,EAAEP,OAAO,gBAAW,IAASjhD,GAAG67B,aAAa77B,GAAGT,EAAE,EAAE+9C,EAAEtpC,EAAE/T,EAAED,OAAE,CAAM,EAAEwhD,EAAEN,MAAM,WAAW,YAAO,IAASlhD,EAAEiT,EAAE00B,EAAEz0B,IAAI,EAAEsuC,CAAC,CAAC,EAAE,GAAG,SAAChhD,EAAEkT,EAAED,GAAK,IAAI6pC,EAAE,sBAAsBr9C,EAAE,aAAa0N,EAAE,qBAAqBsF,EAAE,aAAajT,EAAE,cAAcgU,EAAE2sC,SAASphD,EAAE,iBAAiBkU,EAAEN,GAAGM,EAAEN,GAAGM,EAAEN,EAAEvX,SAASA,QAAQ6X,EAAEN,EAAEY,EAAE,iBAAiB2sC,MAAMA,MAAMA,KAAK9kD,SAASA,QAAQ8kD,KAAKjgD,EAAElB,GAAGwU,GAAGxK,SAAS,cAATA,GAA0BgK,EAAE3X,OAAOsB,UAAUU,SAASiW,EAAE8R,KAAKk7B,IAAI3tC,EAAEyS,KAAK0Q,IAAIvjB,EAAE,WAAW,OAAOrS,EAAEwrB,KAAKC,KAAK,EAAE,SAAS9Y,EAAE5S,GAAG,IAAIkT,SAASlT,EAAE,QAAQA,IAAI,UAAUkT,GAAG,YAAYA,EAAE,CAAC,SAASC,EAAEnT,GAAG,GAAG,iBAAiBA,EAAE,OAAOA,EAAE,GAAG,SAASA,GAAG,MAAM,iBAAiBA,GAAG,SAASA,GAAG,QAAQA,GAAG,iBAAiBA,CAAC,CAAzC,CAA2CA,IAAI,mBAAmB+S,EAAEjH,KAAK9L,EAAE,CAAjH,CAAmHA,GAAG,OAAOogD,IAAI,GAAGxtC,EAAE5S,GAAG,CAAC,IAAIkT,EAAE,mBAAmBlT,EAAEgc,QAAQhc,EAAEgc,UAAUhc,EAAEA,EAAE4S,EAAEM,GAAGA,EAAE,GAAGA,CAAC,CAAC,GAAG,iBAAiBlT,EAAE,OAAO,IAAIA,EAAEA,GAAGA,EAAEA,EAAEA,EAAExC,QAAQiC,EAAE,IAAI,IAAIwT,EAAER,EAAE1U,KAAKiC,GAAG,OAAOiT,GAAGzT,EAAEzB,KAAKiC,GAAGwT,EAAExT,EAAE+W,MAAM,GAAG9D,EAAE,EAAE,GAAG9F,EAAEpP,KAAKiC,GAAGogD,KAAKpgD,CAAC,CAACA,EAAE2R,QAAQ,SAAS3R,EAAEkT,EAAED,GAAG,IAAIxT,GAAE,EAAG0N,GAAE,EAAG,GAAG,mBAAmBnN,EAAE,MAAM,IAAI9B,UAAU4+C,GAAG,OAAOlqC,EAAEK,KAAKxT,EAAE,YAAYwT,IAAIA,EAAEqtC,QAAQ7gD,EAAE0N,EAAE,aAAa8F,IAAIA,EAAEutC,SAASrzC,GAAG,SAASnN,EAAEkT,EAAED,GAAG,IAAIxT,EAAE0N,EAAEsF,EAAEjT,EAAEgU,EAAEzU,EAAEwU,EAAE,EAAEtT,GAAE,EAAG8S,GAAE,EAAGD,GAAE,EAAG,GAAG,mBAAmB9S,EAAE,MAAM,IAAI9B,UAAU4+C,GAAG,SAAS5V,EAAEh0B,GAAG,IAAID,EAAExT,EAAEq9C,EAAE3vC,EAAE,OAAO1N,EAAE0N,OAAE,EAAOoG,EAAEL,EAAE1T,EAAEQ,EAAElE,MAAMghD,EAAE7pC,EAAE,CAAqD,SAASN,EAAE3S,GAAG,IAAIiT,EAAEjT,EAAEjB,EAAE,YAAO,IAASA,GAAGkU,GAAGC,GAAGD,EAAE,GAAGF,GAAG/S,EAAEuT,GAAGd,CAAC,CAAC,SAAS00B,IAAI,IAAInnC,EAAEsS,IAAI,GAAGK,EAAE3S,GAAG,OAAOghD,EAAEhhD,GAAGwT,EAAE2nB,WAAWgM,EAAE,SAASnnC,GAAG,IAAIiT,EAAEC,GAAGlT,EAAEjB,GAAG,OAAOgU,EAAEL,EAAEO,EAAER,GAAGzS,EAAEuT,IAAIN,CAAC,CAAjD,CAAmDjT,GAAG,CAAC,SAASghD,EAAEhhD,GAAG,OAAOwT,OAAE,EAAOV,GAAGrT,EAAEynC,EAAElnC,IAAIP,EAAE0N,OAAE,EAAO3N,EAAE,CAAC,SAAS+xC,IAAI,IAAIvxC,EAAEsS,IAAIW,EAAEN,EAAE3S,GAAG,GAAGP,EAAEnB,UAAU6O,EAAE+I,KAAKnX,EAAEiB,EAAEiT,EAAE,CAAC,QAAG,IAASO,EAAE,OAArW,SAAWxT,GAAG,OAAOuT,EAAEvT,EAAEwT,EAAE2nB,WAAWgM,EAAEj0B,GAAGjT,EAAEinC,EAAElnC,GAAGR,CAAC,CAAyT4T,CAAErU,GAAG,GAAGgU,EAAE,OAAOS,EAAE2nB,WAAWgM,EAAEj0B,GAAGg0B,EAAEnoC,EAAE,CAAC,YAAO,IAASyU,IAAIA,EAAE2nB,WAAWgM,EAAEj0B,IAAI1T,CAAC,CAAC,OAAO0T,EAAEC,EAAED,IAAI,EAAEN,EAAEK,KAAKhT,IAAIgT,EAAEqtC,QAAQ7tC,GAAGM,EAAE,YAAYE,GAAGI,EAAEF,EAAEF,EAAEstC,UAAU,EAAErtC,GAAGT,EAAEK,EAAE,aAAaG,IAAIA,EAAEutC,SAAS1tC,GAAGy+B,EAAEkP,OAAO,gBAAW,IAASjtC,GAAG6nB,aAAa7nB,GAAGD,EAAE,EAAE9T,EAAEV,EAAEoO,EAAEqG,OAAE,CAAM,EAAE+9B,EAAEmP,MAAM,WAAW,YAAO,IAASltC,EAAEhU,EAAEwhD,EAAE1uC,IAAI,EAAEi/B,CAAC,CAAp0B,CAAs0BvxC,EAAEkT,EAAE,CAACotC,QAAQ7gD,EAAE8gD,QAAQrtC,EAAEstC,SAASrzC,GAAG,CAAC,EAAE,IAAI,SAACnN,EAAEkT,EAAED,GAAK,aAAa,IAAI6pC,EAAE7pC,EAAE,KAAK,SAASxT,IAAI,CAAC,SAAS0N,IAAI,CAACA,EAAE0vC,kBAAkBp9C,EAAEO,EAAE2R,QAAQ,WAAW,SAAS3R,EAAEA,EAAEkT,EAAED,EAAExT,EAAE0N,EAAEsF,GAAG,GAAGA,IAAIqqC,EAAE,CAAC,IAAIt9C,EAAE,IAAIkZ,MAAM,mLAAmL,MAAMlZ,EAAEkL,KAAK,sBAAsBlL,CAAC,CAAC,CAAC,SAAS0T,IAAI,OAAOlT,CAAC,CAACA,EAAE+8C,WAAW/8C,EAAE,IAAIiT,EAAE,CAACpU,MAAMmB,EAAEg9C,KAAKh9C,EAAE7B,KAAK6B,EAAEsyB,OAAOtyB,EAAEb,OAAOa,EAAEi9C,OAAOj9C,EAAEk9C,OAAOl9C,EAAEm9C,IAAIn9C,EAAEo9C,QAAQlqC,EAAElU,QAAQgB,EAAEm/B,YAAYn/B,EAAEq9C,WAAWnqC,EAAE7I,KAAKrK,EAAEs9C,SAASpqC,EAAEqqC,MAAMrqC,EAAEsqC,UAAUtqC,EAAEuqC,MAAMvqC,EAAEwqC,MAAMxqC,EAAEyqC,eAAexwC,EAAE0vC,kBAAkBp9C,GAAG,OAAOwT,EAAE2qC,UAAU3qC,EAAEA,CAAC,CAAC,EAAE,IAAI,SAACjT,EAAEkT,EAAED,GAAKjT,EAAE2R,QAAQsB,EAAE,IAAFA,EAAQ,EAAE,IAAI,SAAAjT,GAAI,aAAaA,EAAE2R,QAAQ,8CAA8C,GAAGuB,EAAE,CAAC,EAAE,SAASD,EAAE6pC,GAAG,IAAIr9C,EAAEyT,EAAE4pC,GAAG,QAAG,IAASr9C,EAAE,OAAOA,EAAEkS,QAAQ,IAAIxE,EAAE+F,EAAE4pC,GAAG,CAACnrC,QAAQ,CAAC,GAAG,OAAO3R,EAAE88C,GAAG3vC,EAAEA,EAAEwE,QAAQsB,GAAG9F,EAAEwE,OAAO,CAACsB,EAAExT,EAAE,SAAAO,GAAI,IAAIkT,EAAElT,GAAGA,EAAE6/C,WAAW,kBAAI7/C,EAAE8/C,OAAO,EAAC,kBAAI9/C,CAAC,EAAC,OAAOiT,EAAEP,EAAEQ,EAAE,CAACK,EAAEL,IAAIA,CAAC,EAAED,EAAEP,EAAE,SAAC1S,EAAEkT,GAAK,IAAI,IAAI4pC,KAAK5pC,EAAED,EAAE6pC,EAAE5pC,EAAE4pC,KAAK7pC,EAAE6pC,EAAE98C,EAAE88C,IAAI1hD,OAAOkW,eAAetR,EAAE88C,EAAE,CAACx2C,YAAW,EAAGjG,IAAI6S,EAAE4pC,IAAI,EAAE7pC,EAAEN,EAAE,WAAW,GAAG,iBAAiBotC,WAAW,OAAOA,WAAW,IAAI,OAAO7pC,MAAM,IAAInN,SAAS,cAAb,EAA6B,CAAC,MAAM/I,GAAG,GAAG,iBAAiB8B,OAAO,OAAOA,MAAM,CAAC,CAA7J,GAAiKmR,EAAE6pC,EAAE,SAAC98C,EAAEkT,GAAC,OAAG9X,OAAOsB,UAAUoZ,eAAehK,KAAK9L,EAAEkT,EAAE,EAACD,EAAEA,EAAE,SAAAjT,GAAI,oBAAoBuS,QAAQA,OAAOytC,aAAa5kD,OAAOkW,eAAetR,EAAEuS,OAAOytC,YAAY,CAACngD,MAAM,WAAWzE,OAAOkW,eAAetR,EAAE,aAAa,CAACH,OAAM,GAAI,EAAE,IAAIi9C,EAAE,CAAC,GAAE,WAAM,aAAa7pC,EAAEA,EAAE6pC,GAAG7pC,EAAEP,EAAEoqC,EAAE,CAACkV,kBAAkB,kBAAIt4B,CAAC,EAACu4B,cAAc,kBAAIz+B,EAAE,EAAC0+B,kBAAkB,kBAAIzrC,CAAC,IAAG,IAAMzmB,EAAE4P,EAAQ,KAAasD,EAAED,EAAExT,EAAEO,GAAGP,EAAEwT,EAAE,KAAW9F,EAAEyC,EAAQ,KAAiB6C,EAAEQ,EAAExT,EAAE0N,GAAG,SAAS3N,IAAI,MAAM,oBAAoBsC,QAAQ,yBAAyBA,QAAQ,mBAAmBA,OAAOqwD,0BAA0Bz1D,SAAS,CAAC,SAAS8W,EAAExT,GAAG,OAAOwT,EAAE,mBAAmBjB,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAC,SAASjB,EAAEiB,EAAEkT,GAAG,IAAID,EAAE7X,OAAO6W,KAAKjS,GAAG,GAAG5E,OAAOoW,sBAAsB,CAAC,IAAIsrC,EAAE1hD,OAAOoW,sBAAsBxR,GAAGkT,IAAI4pC,EAAEA,EAAE8E,QAAQ,SAAS1uC,GAAG,OAAO9X,OAAOI,yBAAyBwE,EAAEkT,GAAG5M,UAAU,KAAK2M,EAAElW,KAAKjB,MAAMmX,EAAE6pC,EAAE,CAAC,OAAO7pC,CAAC,CAAC,SAASM,EAAEvT,EAAEkT,EAAED,GAAG,OAAOC,KAAKlT,EAAE5E,OAAOkW,eAAetR,EAAEkT,EAAE,CAACrT,MAAMoT,EAAE3M,YAAW,EAAGD,cAAa,EAAGD,UAAS,IAAKpG,EAAEkT,GAAGD,EAAEjT,CAAC,CAAuK,SAAS+S,EAAE/S,EAAEkT,GAAG,OAAOH,EAAE3X,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAAC,SAASG,EAAErT,EAAEkT,GAAG,GAAGA,IAAI,WAAWM,EAAEN,IAAI,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIhV,UAAU,4DAA4D,OAAO,SAAS8B,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAxH,CAA0HA,EAAE,CAAC,SAAS0S,EAAE1S,GAAG,OAAO0S,EAAEtX,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAIsS,EAAE,SAAStS,GAAGA,EAAErD,SAAS,SAASqD,GAAGA,EAAEoyD,gBAAgBpyD,EAAE+gB,OAAOsxC,WAAW,GAAG,EAAEz/C,EAAE,CAAC,EAAEO,EAAE,SAASnT,IAAI,SAASA,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAGH,EAAE/S,EAAEkT,EAAE,CAAjO,CAAmOC,EAAEnT,GAAG,IAAM88C,EAAEr9C,EAAE0N,EAAEqG,GAAG/T,EAAE0T,EAAEhG,EAAE,WAAW,GAAG,oBAAoBtR,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAER,EAAEjT,GAAG,GAAG0N,EAAE,CAAC,IAAI8F,EAAEP,EAAEwD,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAU2U,EAAE,MAAMjT,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAAO+U,EAAE6C,KAAKlW,EAAE,GAAG,SAASmT,EAAEnT,GAAG,IAAIkT,EAAE,GAAG,SAASlT,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAK/C,IAAID,EAAEM,EAAE1H,KAAKoK,KAAKlW,IAAIsyD,kBAAkBtyD,EAAEuyD,gBAAgBvyD,EAAEwyD,yBAAyBhzD,IAAI0T,EAAEo/C,iBAAiB,CAAC,IAAIr/C,EAAEjT,EAAEyyD,UAAUv/C,EAAEw/C,SAAS,SAAS1yD,GAAG,OAAO4S,EAAE5S,GAAG4S,EAAE5S,IAAI,IAAI2yD,qBAAqBrgD,EAAE,CAACsgD,WAAW5yD,EAAE,OAAO4S,EAAE5S,EAAE,CAAlF,CAAoFiT,EAAE,CAAC,OAAOC,CAAC,CAAC,OAAY4pC,EAAE,CAAC,CAAC1qC,IAAI,oBAAoBvS,MAAM,WAAWqW,KAAK28C,aAAa38C,KAAKw8C,WAAWx8C,KAAK28C,YAAYR,UAAUn8C,KAAKuuB,MAAM4tB,UAAUn8C,KAAKw8C,SAAS1Q,QAAQ9rC,KAAK28C,cAAc38C,KAAKo8C,kBAAkBp8C,KAAK48C,kBAAkB,GAAG,CAAC1gD,IAAI,uBAAuBvS,MAAM,WAAWqW,KAAKw8C,UAAUx8C,KAAK28C,aAAa38C,KAAKw8C,SAAS1O,UAAU9tC,KAAK28C,YAAY,GAAG,CAACzgD,IAAI,qBAAqBvS,MAAM,WAAWqW,KAAKo8C,kBAAkBp8C,KAAK48C,kBAAkB,GAAG,CAAC1gD,IAAI,4BAA4BvS,MAAM,WAAW,IAAIG,EAAE1B,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG4X,KAAKuuB,MAAM8tB,eAAer/C,EAAEgD,KAAK28C,YAAYE,wBAAwB9/C,EAAER,IAAIypC,YAAYhmC,KAAK28C,aAAaxzC,MAAMy9B,EAAQqD,SAASltC,EAAE+/C,iBAAiB,eAAe,KAAK,EAAxDlW,EAA8DqD,SAASltC,EAAE+/C,iBAAiB,cAAc,KAAK,EAAG,MAAM,CAAChQ,OAAOhjD,EAAEqT,EAAEH,EAAE8vC,OAAOlG,EAAMnmB,KAAK32B,EAAE7D,EAAE+W,EAAEyjB,KAAKmmB,EAAOiG,MAAM/iD,EAAE7D,EAAE+W,EAAE6vC,MAAMjG,EAAOjmB,IAAI72B,EAAEqT,EAAEH,EAAE2jB,IAAIimB,EAAM,GAAG,CAAC1qC,IAAI,0BAA0BvS,MAAM,WAAW,GAAG,oBAAoBiC,SAASoU,KAAK28C,YAAY,OAAM,EAAG,IAAI7yD,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAEuyD,eAAet/C,EAAEjT,EAAEyyD,UAAU3V,EAAE5mC,KAAK+8C,0BAA0B//C,GAAGzT,EAAEyT,EAAEG,EAAEvR,OAAOoxD,YAAY/lD,EAAE+F,EAAE/W,EAAEsW,EAAES,EAAE/W,EAAE2F,OAAOqxD,WAAW3zD,EAAE0T,EAAEG,EAAE,OAAOlJ,QAAQ3K,EAAEyT,GAAG6pC,EAAEkG,QAAQvjD,EAAEwT,GAAG6pC,EAAEjmB,KAAK1pB,EAAE8F,GAAG6pC,EAAEiG,OAAOtwC,EAAEQ,GAAG6pC,EAAEnmB,KAAK,GAAG,CAACvkB,IAAI,mBAAmBvS,MAAM,WAAWqW,KAAKk9C,2BAA2Bl9C,KAAKuuB,MAAM4tB,WAAW,GAAG,CAACjgD,IAAI,SAASvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKjD,EAAEiD,KAAKuuB,MAAMqY,EAAE7pC,EAAEiyC,UAAUzlD,EAAEwT,EAAE8c,OAAO5iB,EAAE8F,EAAE4/C,YAAYpgD,EAAEQ,EAAEoM,MAAM7f,EAAEyT,EAAE6c,MAAM,GAAG3iB,GAAG,mBAAmBA,EAAEqD,KAAK,OAAO0C,IAAImgD,aAAalmD,EAAE,CAAC43B,IAAI,SAAS7xB,GAAG,OAAOlT,EAAE6yD,YAAY3/C,CAAC,IAAI,IAAIM,EAAE,SAASxT,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAID,EAAE,MAAM3U,UAAU4U,GAAG5U,UAAU4U,GAAG,CAAC,EAAEA,EAAE,EAAEnU,EAAE3D,OAAO6X,IAAG,GAAItW,SAAS,SAASuW,GAAGK,EAAEvT,EAAEkT,EAAED,EAAEC,GAAG,IAAI9X,OAAO+qD,0BAA0B/qD,OAAOgrD,iBAAiBpmD,EAAE5E,OAAO+qD,0BAA0BlzC,IAAIlU,EAAE3D,OAAO6X,IAAItW,SAAS,SAASuW,GAAG9X,OAAOkW,eAAetR,EAAEkT,EAAE9X,OAAOI,yBAAyByX,EAAEC,GAAG,GAAG,CAAC,OAAOlT,CAAC,CAA9V,CAAgW,CAAC2zC,QAAQ,gBAAgBlhC,GAAG,YAAO,IAASjT,IAAIgU,EAAEsc,MAAMtwB,QAAG,IAASC,IAAI+T,EAAEuc,OAAOtwB,GAAGyT,IAAI3O,cAAc,OAAO,CAAC2gD,UAAUpI,EAAE/X,IAAI,SAAS7xB,GAAG,OAAOlT,EAAE6yD,YAAY3/C,CAAC,EAAEmM,MAAM7L,GAAGrG,EAAE,MAApwH,SAAWnN,EAAEkT,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE3U,OAAO0U,IAAI,CAAC,IAAI6pC,EAAE5pC,EAAED,GAAG6pC,EAAEx2C,WAAWw2C,EAAEx2C,aAAY,EAAGw2C,EAAEz2C,cAAa,EAAG,UAAUy2C,IAAIA,EAAE12C,UAAS,GAAIhL,OAAOkW,eAAetR,EAAE88C,EAAE1qC,IAAI0qC,EAAE,CAAC,CAAqmH78C,CAAhgEkT,EAAogEzW,UAAUogD,GAAG3pC,CAAC,CAArhG,CAAuhGD,IAAIiwB,WAAWhwB,EAAE5C,UAAU,CAAC8hD,UAAU5yD,EAAEm+C,UAAUz/C,KAAK4+C,WAAWmI,UAAUzlD,EAAEm+C,UAAUX,OAAOltB,OAAOtwB,EAAEm+C,UAAUJ,UAAU,CAAC/9C,EAAEm+C,UAAUtrB,OAAO7yB,EAAEm+C,UAAUX,SAAS4V,YAAYpzD,EAAEm+C,UAAU5+C,QAAQyzD,UAAUhzD,EAAEm+C,UAAUtrB,OAAOkgC,wBAAwB/yD,EAAEm+C,UAAUZ,KAAKuV,eAAe9yD,EAAEm+C,UAAUH,MAAM,CAACthD,EAAEsD,EAAEm+C,UAAUtrB,OAAOyqB,WAAW1pC,EAAE5T,EAAEm+C,UAAUtrB,OAAOyqB,aAAajtB,MAAMrwB,EAAEm+C,UAAUJ,UAAU,CAAC/9C,EAAEm+C,UAAUtrB,OAAO7yB,EAAEm+C,UAAUX,UAAU9pC,EAAElD,aAAa,CAACi1C,UAAU,GAAG2N,YAAY,KAAKJ,UAAU,IAAID,yBAAwB,GAAI,IAAM1/C,EAAEK,EAAM+zB,EAAEj0B,EAAE,KAAKG,EAAEH,EAAExT,EAAEynC,GAAGv0B,EAAEM,EAAE,IAAIk0B,EAAEl0B,EAAExT,EAAEkT,GAAGquC,EAAE,SAAShhD,GAAG,IAAIkT,EAAE4vC,iBAAiB9iD,EAAE,MAAM,OAAOkT,EAAE8/C,iBAAiB,YAAY9/C,EAAE8/C,iBAAiB,cAAc9/C,EAAE8/C,iBAAiB,aAAa,EAAQzhB,EAAE,SAASvxC,GAAG,KAAKA,aAAaszD,aAAa,OAAOxxD,OAAO,IAAI,IAAIoR,EAAElT,EAAEkT,GAAGA,aAAaogD,aAAa,CAAC,GAAG,gBAAgBv1D,KAAKijD,EAAE9tC,IAAI,OAAOA,EAAEA,EAAEA,EAAE5I,UAAU,CAAC,OAAOxI,MAAM,EAAE,SAAS8uC,EAAE5wC,GAAG,OAAO4wC,EAAE,mBAAmBr+B,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAC,IAAI08B,EAAE,CAAC,cAAc,aAAa,SAAS75B,IAAI,OAAOA,EAAEzH,OAAOod,QAAQ,SAASxY,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAID,EAAE3U,UAAU4U,GAAG,IAAI,IAAI4pC,KAAK7pC,EAAE7X,OAAOsB,UAAUoZ,eAAehK,KAAKmH,EAAE6pC,KAAK98C,EAAE88C,GAAG7pC,EAAE6pC,GAAG,CAAC,OAAO98C,CAAC,GAAGlE,MAAMoa,KAAK5X,UAAU,CAAuK,SAASolC,EAAE1jC,EAAEkT,GAAG,OAAOwwB,EAAEtoC,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAAC,SAAS/W,EAAE6D,EAAEkT,GAAG,GAAGA,IAAI,WAAW09B,EAAE19B,IAAI,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIhV,UAAU,4DAA4D,OAAOkrC,EAAEppC,EAAE,CAAC,SAASopC,EAAEppC,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAC,SAAS6S,EAAE7S,GAAG,OAAO6S,EAAEzX,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAI+4B,EAAE,WAAW,MAAM,oBAAoBj3B,OAAO,EAAEA,OAAOyxD,SAASzxD,OAAO0xD,WAAW,EAAEvsB,EAAE,WAAW,MAAM,oBAAoBnlC,OAAO,EAAEA,OAAO2xD,SAAS3xD,OAAO4xD,WAAW,EAAQjtC,EAAE,SAASzmB,GAAG,IAAIiT,EAAE,SAASA,IAAI,SAASjT,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAGwwB,EAAE1jC,EAAEkT,EAAE,CAAjO,CAAmOK,EAAEN,GAAG,IAAMxT,EAAE0N,EAAEqG,EAAEzU,GAAGoO,EAAEoG,EAAEC,EAAE,WAAW,GAAG,oBAAoB3X,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAEL,EAAE1F,GAAG,GAAGqG,EAAE,CAAC,IAAIP,EAAEJ,EAAEqD,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAU2U,EAAE,MAAMjT,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAAOnC,EAAE+Z,KAAKlW,EAAE,GAAG,SAASuT,EAAEvT,GAAG,IAAIiT,EAAE,GAAG,SAASjT,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAK3C,IAAIN,EAAElU,EAAE+M,KAAKoK,KAAKlW,IAAIwyD,wBAAwBxyD,EAAEwyD,yBAAyBhzD,IAAIyT,EAAEu/C,wBAAwB,OAAOr2D,EAAE8W,GAAG,IAAI6pC,EAAE7pC,EAAE0gD,eAAep6B,KAAK6P,EAAEn2B,IAAI,MAAM,aAAajT,EAAE4zD,YAAY3gD,EAAE4gD,cAAczgD,IAAI0pC,EAAE98C,EAAE8zD,WAAW,aAAa9zD,EAAE4zD,cAAc3gD,EAAE4gD,cAAc1sB,IAAI2V,EAAE98C,EAAE8zD,YAAY7gD,EAAEkxB,MAAM,CAACouB,eAAe,CAACp2D,EAAE48B,IAAI1lB,EAAE4zB,MAAMh0B,EAAE8gD,iBAAiB7gD,IAAIs0C,YAAYv0C,CAAC,CAAC,OAAYxT,EAAE,CAAC,CAAC2S,IAAI,oBAAoBvS,MAAM,WAAWqW,KAAK89C,cAAc,GAAG,CAAC5hD,IAAI,uBAAuBvS,MAAM,WAAWqW,KAAK+9C,iBAAiB,GAAG,CAAC7hD,IAAI,qBAAqBvS,MAAM,WAAW,oBAAoBiC,QAAQoU,KAAKs8C,yBAAyBjhB,EAAE9+B,IAAIypC,YAAYhmC,KAAK69C,iBAAiBxwC,YAAYrN,KAAKg+C,gBAAgBh+C,KAAK+9C,kBAAkB/9C,KAAK89C,eAAe,GAAG,CAAC5hD,IAAI,eAAevS,MAAM,WAAW,oBAAoBiC,QAAQoU,KAAKs8C,0BAA0Bt8C,KAAKg+C,cAAc3iB,EAAE9+B,IAAIypC,YAAYhmC,KAAK69C,iBAAiBxwC,UAAUrN,KAAKg+C,cAAchyC,iBAAiB,SAAShM,KAAK29C,cAAc,CAACp6B,SAAQ,IAAK33B,OAAOogB,iBAAiB,SAAShM,KAAK29C,cAAc,CAACp6B,SAAQ,IAAKvjB,KAAKg+C,gBAAgBpyD,QAAQA,OAAOogB,iBAAiB,SAAShM,KAAK29C,cAAc,CAACp6B,SAAQ,IAAK,GAAG,CAACrnB,IAAI,kBAAkBvS,MAAM,WAAW,oBAAoBiC,QAAQoU,KAAKs8C,0BAA0Bt8C,KAAKg+C,cAAc/xC,oBAAoB,SAASjM,KAAK29C,eAAe/xD,OAAOqgB,oBAAoB,SAASjM,KAAK29C,eAAe39C,KAAKg+C,gBAAgBpyD,QAAQA,OAAOqgB,oBAAoB,SAASjM,KAAK29C,eAAe,GAAG,CAACzhD,IAAI,iBAAiBvS,MAAM,WAAWqW,KAAKs8C,yBAAyBt8C,KAAK4zC,SAAS,CAACyI,eAAe,CAACp2D,EAAE48B,IAAI1lB,EAAE4zB,MAAM,GAAG,CAAC70B,IAAI,SAASvS,MAAM,WAAW,IAAIoT,EAAEiD,KAAKuuB,MAAMqY,GAAG7pC,EAAE2gD,YAAY3gD,EAAE6gD,UAAU,SAAS9zD,EAAEkT,GAAG,GAAG,MAAMlT,EAAE,MAAM,CAAC,EAAE,IAAIiT,EAAE6pC,EAAEr9C,EAAE,SAASO,EAAEkT,GAAG,GAAG,MAAMlT,EAAE,MAAM,CAAC,EAAE,IAAIiT,EAAE6pC,EAAEr9C,EAAE,CAAC,EAAE0N,EAAE/R,OAAO6W,KAAKjS,GAAG,IAAI88C,EAAE,EAAEA,EAAE3vC,EAAE5O,OAAOu+C,IAAI7pC,EAAE9F,EAAE2vC,GAAG5pC,EAAExV,QAAQuV,IAAI,IAAIxT,EAAEwT,GAAGjT,EAAEiT,IAAI,OAAOxT,CAAC,CAAnI,CAAqIO,EAAEkT,GAAG,GAAG9X,OAAOoW,sBAAsB,CAAC,IAAIrE,EAAE/R,OAAOoW,sBAAsBxR,GAAG,IAAI88C,EAAE,EAAEA,EAAE3vC,EAAE5O,OAAOu+C,IAAI7pC,EAAE9F,EAAE2vC,GAAG5pC,EAAExV,QAAQuV,IAAI,GAAG7X,OAAOsB,UAAUy3D,qBAAqBroD,KAAK9L,EAAEiT,KAAKxT,EAAEwT,GAAGjT,EAAEiT,GAAG,CAAC,OAAOxT,CAAC,CAAjX,CAAmXwT,EAAEypB,IAAIj9B,EAAEyW,KAAKs8C,wBAAwB,KAAKt8C,KAAKiuB,MAAMouB,eAAe,OAAOr/C,IAAI3O,cAAcvE,EAAE6C,EAAE,CAACuxD,WAAWl+C,KAAK69C,iBAAiBxB,eAAe9yD,GAAGq9C,GAAG,MAAvvH,SAAW98C,EAAEkT,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE3U,OAAO0U,IAAI,CAAC,IAAI6pC,EAAE5pC,EAAED,GAAG6pC,EAAEx2C,WAAWw2C,EAAEx2C,aAAY,EAAGw2C,EAAEz2C,cAAa,EAAG,UAAUy2C,IAAIA,EAAE12C,UAAS,GAAIhL,OAAOkW,eAAetR,EAAE88C,EAAE1qC,IAAI0qC,EAAE,CAAC,CAAwlH/d,CAAzwDxrB,EAA6wD7W,UAAU+C,GAAG8T,CAAC,CAA15F,CAA45FL,IAAIiwB,WAAW,OAAOlwB,EAAE1C,UAAU,CAACqjD,YAAYn0D,EAAEm+C,UAAUL,MAAM,CAAC,WAAW,aAAauW,UAAUr0D,EAAEm+C,UAAUtrB,OAAOkgC,wBAAwB/yD,EAAEm+C,UAAUZ,MAAM/pC,EAAEhD,aAAa,CAAC2jD,YAAY,WAAWE,UAAU,IAAItB,yBAAwB,GAAIv/C,CAAC,EAAE,SAASszB,EAAEvmC,GAAG,OAAOumC,EAAE,mBAAmBh0B,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAuK,SAAS+xC,EAAE/xC,EAAEkT,GAAG,OAAO6+B,EAAE32C,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAA0S,SAASI,EAAEtT,GAAG,OAAOsT,EAAElY,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAI0jD,EAAE,SAAS1jD,IAAI,SAASA,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAG6+B,EAAE/xC,EAAEkT,EAAE,CAAjO,CAAmO1T,EAAEQ,GAAG,IAAM88C,EAAEr9C,EAAE0N,EAAEsF,GAAGhT,EAAED,EAAE2N,EAAE,WAAW,GAAG,oBAAoBtR,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAEI,EAAE7T,GAAG,GAAG0N,EAAE,CAAC,IAAI8F,EAAEK,EAAE4C,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAU2U,EAAE,MAAMjT,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAApjC,SAAW0B,EAAEkT,GAAG,GAAGA,IAAI,WAAWqzB,EAAErzB,IAAI,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIhV,UAAU,4DAA4D,OAAO,SAAS8B,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAxH,CAA0HA,EAAE,CAAmxBiyC,CAAE/7B,KAAKlW,EAAE,GAAG,SAASR,EAAEQ,GAAG,OAAO,SAASA,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAK1W,GAAGiT,EAAE3G,KAAKoK,KAAKlW,EAAE,CAAC,OAAY88C,EAAE,CAAC,CAAC1qC,IAAI,SAASvS,MAAM,WAAW,OAAOqT,IAAI3O,cAAcuO,EAAEoD,KAAKuuB,MAAM,MAAtiD,SAAWzkC,EAAEkT,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE3U,OAAO0U,IAAI,CAAC,IAAI6pC,EAAE5pC,EAAED,GAAG6pC,EAAEx2C,WAAWw2C,EAAEx2C,aAAY,EAAGw2C,EAAEz2C,cAAa,EAAG,UAAUy2C,IAAIA,EAAE12C,UAAS,GAAIhL,OAAOkW,eAAetR,EAAE88C,EAAE1qC,IAAI0qC,EAAE,CAAC,CAAu4C54B,CAAjF1kB,EAAqF9C,UAAUogD,GAAGt9C,CAAC,CAA54B,CAA84B0T,IAAIiwB,WAAiByO,EAAEnrB,EAAEi9B,GAAG,SAAS1wC,EAAEhT,GAAG,OAAOgT,EAAE,mBAAmBT,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAuK,SAAS68B,EAAE78B,EAAEkT,GAAG,OAAO2pB,EAAEzhC,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAAkL,SAAS2/B,EAAE7yC,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAC,SAAS0T,EAAE1T,GAAG,OAAO0T,EAAEtY,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAI28B,EAAE,SAAS38B,IAAI,SAASA,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAG2pB,EAAE78B,EAAEkT,EAAE,CAAjO,CAAmOM,EAAExT,GAAG,IAAM88C,EAAEr9C,EAAE0N,EAAEsF,GAAGhT,EAAE+T,EAAErG,EAAE,WAAW,GAAG,oBAAoBtR,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAEQ,EAAEjU,GAAG,GAAG0N,EAAE,CAAC,IAAI8F,EAAES,EAAEwC,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAU2U,EAAE,MAAMjT,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAAvjC,SAAW0B,EAAEkT,GAAG,GAAGA,IAAI,WAAWF,EAAEE,IAAI,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIhV,UAAU,4DAA4D,OAAO20C,EAAE7yC,EAAE,CAA84Bw0C,CAAEt+B,KAAKlW,EAAE,GAAG,SAASwT,EAAExT,GAAG,IAAIkT,GAAG,SAASlT,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAK1C,GAAGN,EAAET,EAAE3G,KAAKoK,KAAKlW,GAAG,IAAIiT,EAAEjT,EAAEq0D,UAAUvX,EAAE98C,EAAEs0D,WAAW70D,EAAEO,EAAEuyD,eAAeplD,EAAEnN,EAAEu0D,iBAAiB,OAAOrhD,EAAEixB,MAAM,CAACqwB,QAAQrnD,GAAGA,IAAI2vC,IAAI7pC,KAAKC,EAAEm/C,UAAUn/C,EAAEm/C,UAAU94B,KAAKsZ,EAAE3/B,IAAIA,EAAEuhD,gBAAgBtqD,QAAQ1K,GAAGi1D,OAAOC,SAASl1D,EAAEtD,IAAIsD,EAAEtD,GAAG,GAAGu4D,OAAOC,SAASl1D,EAAE4T,IAAI5T,EAAE4T,GAAG,GAAGH,CAAC,CAAC,OAAY4pC,EAAE,CAAC,CAAC1qC,IAAI,qBAAqBvS,MAAM,SAASG,EAAEkT,GAAGA,EAAEshD,UAAUt+C,KAAKiuB,MAAMqwB,SAASt+C,KAAKuuB,MAAM4vB,WAAW,GAAG,CAACjiD,IAAI,YAAYvS,MAAM,WAAWqW,KAAKuuB,MAAM6vB,aAAap+C,KAAK4zC,SAAS,CAAC0K,SAAQ,GAAI,GAAG,CAACpiD,IAAI,SAASvS,MAAM,WAAW,GAAGqW,KAAKiuB,MAAMqwB,QAAQ,OAAOt+C,KAAKuuB,MAAMjpB,SAAS,IAAIxb,EAAEkW,KAAKuuB,MAAMxxB,EAAEjT,EAAEklD,UAAUpI,EAAE98C,EAAE4zD,YAAYn0D,EAAEO,EAAE8zD,UAAU3mD,EAAEnN,EAAE+vB,OAAOtd,EAAEzS,EAAE6yD,YAAYr/C,EAAExT,EAAEuyD,eAAexzD,EAAEiB,EAAEqf,MAAM9L,EAAEvT,EAAEyyD,UAAUxyD,EAAED,EAAEwyD,wBAAwBz/C,EAAE/S,EAAE8vB,MAAM,OAAO5Z,KAAKu+C,iBAAiBx0D,GAAGT,IAAI0T,IAAI3O,cAAcuO,EAAE,CAACoyC,UAAUjyC,EAAE8c,OAAO5iB,EAAEklD,UAAUn8C,KAAKm8C,UAAUQ,YAAYpgD,EAAE8/C,eAAe/+C,EAAE6L,MAAMtgB,EAAE0zD,UAAUl/C,EAAEi/C,wBAAwBvyD,EAAE6vB,MAAM/c,IAAIG,IAAI3O,cAAcqtC,EAAE,CAACsT,UAAUjyC,EAAE2gD,YAAY9W,EAAEgX,UAAUr0D,EAAEswB,OAAO5iB,EAAEklD,UAAUn8C,KAAKm8C,UAAUQ,YAAYpgD,EAAE4M,MAAMtgB,EAAE0zD,UAAUl/C,EAAEuc,MAAM/c,GAAG,MAAn9E,SAAW/S,EAAEkT,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE3U,OAAO0U,IAAI,CAAC,IAAI6pC,EAAE5pC,EAAED,GAAG6pC,EAAEx2C,WAAWw2C,EAAEx2C,aAAY,EAAGw2C,EAAEz2C,cAAa,EAAG,UAAUy2C,IAAIA,EAAE12C,UAAS,GAAIhL,OAAOkW,eAAetR,EAAE88C,EAAE1qC,IAAI0qC,EAAE,CAAC,CAAozEnjB,CAA1wBnmB,EAA8wB9W,UAAUogD,GAAGtpC,CAAC,CAAtzD,CAAwzDN,IAAIiwB,WAAWxG,EAAEpsB,UAAU,CAAC8jD,UAAU50D,EAAEm+C,UAAUz/C,KAAKm2D,WAAW70D,EAAEm+C,UAAUz/C,KAAKq0D,wBAAwB/yD,EAAEm+C,UAAUZ,KAAKuX,iBAAiB90D,EAAEm+C,UAAUZ,MAAMrgB,EAAE1sB,aAAa,CAACokD,UAAU,WAAW,MAAM,CAAC,CAAC,EAAEC,WAAW,WAAW,MAAM,CAAC,CAAC,EAAE9B,yBAAwB,EAAG+B,kBAAiB,GAAI,IAAM76B,EAAEiD,EAAE,SAASiG,EAAE5iC,GAAG,OAAO4iC,EAAE,mBAAmBrwB,QAAQ,iBAAiBA,OAAO8F,SAAS,SAASrY,GAAG,cAAcA,CAAC,EAAE,SAASA,GAAG,OAAOA,GAAG,mBAAmBuS,QAAQvS,EAAE0Z,cAAcnH,QAAQvS,IAAIuS,OAAO7V,UAAU,gBAAgBsD,CAAC,GAAGA,EAAE,CAAC,IAAIwnC,EAAE,CAAC,YAAY,aAAa,cAAc,YAAY,SAAS,cAAc,iBAAiB,iBAAiB,YAAY,0BAA0B,mBAAmB,mBAAmB,gBAAgB,SAASiN,EAAEz0C,EAAEkT,GAAG,IAAID,EAAE7X,OAAO6W,KAAKjS,GAAG,GAAG5E,OAAOoW,sBAAsB,CAAC,IAAIsrC,EAAE1hD,OAAOoW,sBAAsBxR,GAAGkT,IAAI4pC,EAAEA,EAAE8E,QAAQ,SAAS1uC,GAAG,OAAO9X,OAAOI,yBAAyBwE,EAAEkT,GAAG5M,UAAU,KAAK2M,EAAElW,KAAKjB,MAAMmX,EAAE6pC,EAAE,CAAC,OAAO7pC,CAAC,CAAC,SAAS0e,EAAG3xB,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAID,EAAE,MAAM3U,UAAU4U,GAAG5U,UAAU4U,GAAG,CAAC,EAAEA,EAAE,EAAEuhC,EAAEr5C,OAAO6X,IAAG,GAAItW,SAAS,SAASuW,GAAGqgB,EAAGvzB,EAAEkT,EAAED,EAAEC,GAAG,IAAI9X,OAAO+qD,0BAA0B/qD,OAAOgrD,iBAAiBpmD,EAAE5E,OAAO+qD,0BAA0BlzC,IAAIwhC,EAAEr5C,OAAO6X,IAAItW,SAAS,SAASuW,GAAG9X,OAAOkW,eAAetR,EAAEkT,EAAE9X,OAAOI,yBAAyByX,EAAEC,GAAG,GAAG,CAAC,OAAOlT,CAAC,CAAC,SAASuzB,EAAGvzB,EAAEkT,EAAED,GAAG,OAAOC,KAAKlT,EAAE5E,OAAOkW,eAAetR,EAAEkT,EAAE,CAACrT,MAAMoT,EAAE3M,YAAW,EAAGD,cAAa,EAAGD,UAAS,IAAKpG,EAAEkT,GAAGD,EAAEjT,CAAC,CAAC,SAASqzB,IAAK,OAAOA,EAAGj4B,OAAOod,QAAQ,SAASxY,GAAG,IAAI,IAAIkT,EAAE,EAAEA,EAAE5U,UAAUC,OAAO2U,IAAI,CAAC,IAAID,EAAE3U,UAAU4U,GAAG,IAAI,IAAI4pC,KAAK7pC,EAAE7X,OAAOsB,UAAUoZ,eAAehK,KAAKmH,EAAE6pC,KAAK98C,EAAE88C,GAAG7pC,EAAE6pC,GAAG,CAAC,OAAO98C,CAAC,GAAGlE,MAAMoa,KAAK5X,UAAU,CAAwK,SAASy0B,EAAG/yB,EAAEkT,GAAG,OAAO6f,EAAG33B,OAAOC,gBAAgB,SAAS2E,EAAEkT,GAAG,OAAOlT,EAAEqmD,UAAUnzC,EAAElT,CAAC,GAAGA,EAAEkT,EAAE,CAA2S,SAASue,EAAGzxB,GAAG,OAAOyxB,EAAGr2B,OAAOC,eAAeD,OAAOG,eAAe,SAASyE,GAAG,OAAOA,EAAEqmD,WAAWjrD,OAAOG,eAAeyE,EAAE,GAAGA,EAAE,CAAC,IAAIszB,GAAG,SAAStzB,IAAI,SAASA,EAAEkT,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAIhV,UAAU,sDAAsD8B,EAAEtD,UAAUtB,OAAOO,OAAOuX,GAAGA,EAAExW,UAAU,CAACgd,YAAY,CAAC7Z,MAAMG,EAAEoG,UAAS,EAAGC,cAAa,KAAM6M,GAAG6f,EAAG/yB,EAAEkT,EAAE,CAAlO,CAAoO1T,EAAEQ,GAAG,IAAM88C,EAAEr9C,EAAE0N,EAAEsF,GAAGhT,EAAED,EAAE2N,EAAE,WAAW,GAAG,oBAAoBtR,UAAUA,QAAQE,UAAU,OAAM,EAAG,GAAGF,QAAQE,UAAU0qD,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAQ,IAAI,WAAW,MAAK,CAAE,CAAC,MAAMnK,GAAG,OAAM,CAAE,CAAC,CAA5P,GAAgQ,WAAW,IAAIA,EAAEkT,EAAEue,EAAGhyB,GAAG,GAAG0N,EAAE,CAAC,IAAI8F,EAAEwe,EAAGvb,MAAMwD,YAAY1Z,EAAEnE,QAAQE,UAAUmX,EAAE5U,UAAU2U,EAAE,MAAMjT,EAAEkT,EAAEpX,MAAMoa,KAAK5X,WAAW,OAA3jC,SAAY0B,EAAEkT,GAAG,GAAGA,IAAI,WAAW0vB,EAAE1vB,IAAI,mBAAmBA,GAAG,OAAOA,EAAE,QAAG,IAASA,EAAE,MAAM,IAAIhV,UAAU,4DAA4D,OAAO,SAAS8B,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIsmD,eAAe,6DAA6D,OAAOtmD,CAAC,CAAxH,CAA0HA,EAAE,CAAyxB+xB,CAAG7b,KAAKlW,EAAE,GAAG,SAASR,EAAEQ,GAAG,IAAIkT,EAAE,OAAO,SAASlT,EAAEkT,GAAG,KAAKlT,aAAakT,GAAG,MAAM,IAAIhV,UAAU,oCAAoC,CAA3F,CAA6FgY,KAAK1W,IAAI0T,EAAET,EAAE3G,KAAKoK,KAAKlW,IAAImkC,MAAM,CAACywB,QAAO,GAAI1hD,CAAC,CAAC,OAAY4pC,EAAE,CAAC,CAAC1qC,IAAI,cAAcvS,MAAM,WAAW,IAAIG,EAAEkW,KAAK,OAAOA,KAAKiuB,MAAMywB,OAAO,KAAK,WAAW50D,EAAEykC,MAAM4vB,YAAYr0D,EAAE8pD,SAAS,CAAC8K,QAAO,GAAI,CAAC,GAAG,CAACxiD,IAAI,SAASvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMxxB,GAAGjT,EAAEq0D,UAAUr0D,EAAEs0D,WAAWt0D,EAAE4zD,YAAY5zD,EAAE8zD,UAAU9zD,EAAE60D,OAAO70D,EAAE6yD,YAAY7yD,EAAE80D,eAAe90D,EAAEuyD,eAAevyD,EAAEyyD,UAAUzyD,EAAEwyD,wBAAwBxyD,EAAEu0D,iBAAiBv0D,EAAE+0D,iBAAiB/0D,EAAEg1D,aAAa,SAASh1D,EAAEkT,GAAG,GAAG,MAAMlT,EAAE,MAAM,CAAC,EAAE,IAAIiT,EAAE6pC,EAAEr9C,EAAE,SAASO,EAAEkT,GAAG,GAAG,MAAMlT,EAAE,MAAM,CAAC,EAAE,IAAIiT,EAAE6pC,EAAEr9C,EAAE,CAAC,EAAE0N,EAAE/R,OAAO6W,KAAKjS,GAAG,IAAI88C,EAAE,EAAEA,EAAE3vC,EAAE5O,OAAOu+C,IAAI7pC,EAAE9F,EAAE2vC,GAAG5pC,EAAExV,QAAQuV,IAAI,IAAIxT,EAAEwT,GAAGjT,EAAEiT,IAAI,OAAOxT,CAAC,CAAnI,CAAqIO,EAAEkT,GAAG,GAAG9X,OAAOoW,sBAAsB,CAAC,IAAIrE,EAAE/R,OAAOoW,sBAAsBxR,GAAG,IAAI88C,EAAE,EAAEA,EAAE3vC,EAAE5O,OAAOu+C,IAAI7pC,EAAE9F,EAAE2vC,GAAG5pC,EAAExV,QAAQuV,IAAI,GAAG7X,OAAOsB,UAAUy3D,qBAAqBroD,KAAK9L,EAAEiT,KAAKxT,EAAEwT,GAAGjT,EAAEiT,GAAG,CAAC,OAAOxT,CAAC,CAAjX,CAAmXO,EAAEwnC,IAAI,OAAOt0B,IAAI3O,cAAc,MAAM8uB,EAAG,CAACgyB,OAAOnvC,KAAKq6C,eAAet9C,GAAG,GAAG,CAACb,IAAI,mBAAmBvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMxxB,EAAEjT,EAAEs0D,WAAWxX,EAAE98C,EAAEklD,UAAUzlD,EAAEO,EAAE4zD,YAAYzmD,EAAEnN,EAAE8zD,UAAUrhD,EAAEzS,EAAE+vB,OAAOvwB,EAAEQ,EAAE6yD,YAAYr/C,EAAExT,EAAEuyD,eAAexzD,EAAEiB,EAAEqf,MAAM9L,EAAEvT,EAAEyyD,UAAUxyD,EAAED,EAAEwyD,wBAAwBz/C,EAAE/S,EAAEu0D,iBAAiBlhD,EAAErT,EAAE8vB,MAAM,OAAO5c,IAAI3O,cAAcm1B,EAAE,CAAC46B,WAAWrhD,EAAEiyC,UAAUpI,EAAE8W,YAAYn0D,EAAEq0D,UAAU3mD,EAAE4iB,OAAOtd,EAAEogD,YAAYrzD,EAAE+yD,eAAe/+C,EAAE6L,MAAMtgB,EAAE0zD,UAAUl/C,EAAEi/C,wBAAwBvyD,EAAEs0D,iBAAiBxhD,EAAE+c,MAAMzc,GAAG6C,KAAK++C,SAAS,GAAG,CAAC7iD,IAAI,0BAA0BvS,MAAM,SAASG,GAAG,IAAIiT,EAAEiD,KAAKuuB,MAAMqY,EAAE7pC,EAAE4hD,OAAOp1D,EAAEwT,EAAE8c,OAAO5iB,EAAE8F,EAAE6hD,eAAeriD,EAAEQ,EAAE6c,MAAMtwB,EAAEyT,EAAE8hD,iBAAiBvhD,EAAEP,EAAE+hD,aAAaj2D,EAAEmX,KAAKiuB,MAAMywB,OAAOrhD,EAAExU,EAAE,0BAA0B,GAAGkB,EAAElB,IAAIoO,EAAE,CAAC,EAAE,CAAC+nD,gBAAgB,OAAOnvD,OAAOoH,EAAE,KAAKgoD,eAAe,aAAa,OAAOjiD,IAAI3O,cAAc,OAAO8uB,EAAG,CAAC6xB,UAAU1lD,EAAE,+BAA+Bs9C,EAAEvpC,EAAE8L,MAAMsS,EAAGA,EAAG,CAAC,EAAE1xB,GAAG,CAAC,EAAE,CAACgyB,MAAM,cAAc0hB,QAAQ,eAAe5jB,OAAOtwB,EAAEqwB,MAAMrd,KAAKe,GAAGxT,EAAE,GAAG,CAACoS,IAAI,SAASvS,MAAM,WAAW,IAAIG,EAAEkW,KAAKuuB,MAAMvxB,EAAElT,EAAE60D,OAAO5hD,EAAEjT,EAAE80D,eAAehY,EAAE98C,EAAEu0D,iBAAiB90D,EAAEO,EAAE+0D,iBAAiB5nD,EAAEnN,EAAEg1D,aAAaviD,EAAEyD,KAAKk/C,mBAAmB,OAAOliD,GAAGD,KAAK6pC,GAAGr9C,GAAG0N,EAAE+I,KAAKm/C,wBAAwB5iD,GAAGA,CAAC,MAAx7G,SAAYzS,EAAEkT,GAAG,IAAI,IAAID,EAAE,EAAEA,EAAEC,EAAE3U,OAAO0U,IAAI,CAAC,IAAI6pC,EAAE5pC,EAAED,GAAG6pC,EAAEx2C,WAAWw2C,EAAEx2C,aAAY,EAAGw2C,EAAEz2C,cAAa,EAAG,UAAUy2C,IAAIA,EAAE12C,UAAS,GAAIhL,OAAOkW,eAAetR,EAAE88C,EAAE1qC,IAAI0qC,EAAE,CAAC,CAAwxG9pB,CAA17DxzB,EAA+7D9C,UAAUogD,GAAGt9C,CAAC,CAAxxF,CAA0xF0T,IAAIiwB,WAAW7P,GAAG/iB,UAAU,CAAC8jD,UAAU50D,EAAEm+C,UAAUz/C,KAAKm2D,WAAW70D,EAAEm+C,UAAUz/C,KAAKy1D,YAAYn0D,EAAEm+C,UAAUX,OAAO6W,UAAUr0D,EAAEm+C,UAAUtrB,OAAOuiC,OAAOp1D,EAAEm+C,UAAUX,OAAO6X,eAAer1D,EAAEm+C,UAAUX,OAAOwV,UAAUhzD,EAAEm+C,UAAUtrB,OAAOkgC,wBAAwB/yD,EAAEm+C,UAAUZ,KAAKuX,iBAAiB90D,EAAEm+C,UAAUZ,KAAK+X,iBAAiBt1D,EAAEm+C,UAAUX,OAAO+X,aAAav1D,EAAEm+C,UAAUz+C,QAAQm0B,GAAGrjB,aAAa,CAACokD,UAAU,WAAW,MAAM,CAAC,CAAC,EAAEC,WAAW,WAAW,MAAM,CAAC,CAAC,EAAEV,YAAY,WAAWE,UAAU,IAAIe,OAAO,GAAGC,eAAe,KAAKrC,UAAU,IAAID,yBAAwB,EAAG+B,kBAAiB,EAAGQ,iBAAiB,IAAI,IAAMvhC,GAAGF,EAAG,EAA/roB,GAAmsoB5hB,EAAOC,QAAQmrC,CAAE,CAA/iyB,qCCSa,IAAI78C,EAAE2P,EAAQ,KAASiD,EAAEN,OAAOC,IAAI,iBAAiBzT,EAAEwT,OAAOC,IAAI,kBAAkBM,EAAE1X,OAAOsB,UAAUoZ,eAAerW,EAAEQ,EAAEqX,mDAAmDk2B,kBAAkBz6B,EAAE,CAACX,KAAI,EAAG2yB,KAAI,EAAGuwB,QAAO,EAAGC,UAAS,GAChP,SAASviD,EAAEP,EAAEc,EAAEZ,GAAG,IAAIL,EAAEI,EAAE,CAAC,EAAE1S,EAAE,KAAK4S,EAAE,KAAiF,IAAIN,UAAhF,IAASK,IAAI3S,EAAE,GAAG2S,QAAG,IAASY,EAAEnB,MAAMpS,EAAE,GAAGuT,EAAEnB,UAAK,IAASmB,EAAEwxB,MAAMnyB,EAAEW,EAAEwxB,KAAcxxB,EAAET,EAAEhH,KAAKyH,EAAEjB,KAAKS,EAAE+C,eAAexD,KAAKI,EAAEJ,GAAGiB,EAAEjB,IAAI,GAAGG,GAAGA,EAAExC,aAAa,IAAIqC,KAAKiB,EAAEd,EAAExC,kBAAe,IAASyC,EAAEJ,KAAKI,EAAEJ,GAAGiB,EAAEjB,IAAI,MAAM,CAACmB,SAASZ,EAAErC,KAAKiC,EAAEL,IAAIpS,EAAE+kC,IAAInyB,EAAE6xB,MAAM/xB,EAAEsyB,OAAOvlC,EAAE8jB,QAAQ,CAAC5R,EAAQoC,SAAShV,EAAE4S,EAAQ6jD,IAAIxiD,EAAErB,EAAQ8jD,KAAKziD,kCCD7V,IAAIjU,EAAEwT,OAAOC,IAAI,iBAAiB/S,EAAE8S,OAAOC,IAAI,gBAAgBO,EAAER,OAAOC,IAAI,kBAAkBQ,EAAET,OAAOC,IAAI,qBAAqBS,EAAEV,OAAOC,IAAI,kBAAkBU,EAAEX,OAAOC,IAAI,kBAAkBgB,EAAEjB,OAAOC,IAAI,iBAAiBW,EAAEZ,OAAOC,IAAI,qBAAqBY,EAAEb,OAAOC,IAAI,kBAAkBrW,EAAEoW,OAAOC,IAAI,cAAca,EAAEd,OAAOC,IAAI,cAAcc,EAAEf,OAAO8F,SACzW,IAAI6L,EAAE,CAACqf,UAAU,WAAW,OAAM,CAAE,EAAEO,mBAAmB,WAAW,EAAED,oBAAoB,WAAW,EAAEJ,gBAAgB,WAAW,GAAGhd,EAAErrB,OAAOod,OAAOugB,EAAE,CAAC,EAAE,SAAS2D,EAAEnpB,EAAEjB,EAAEtS,GAAGkW,KAAKuuB,MAAMlxB,EAAE2C,KAAKkrB,QAAQ9uB,EAAE4D,KAAKktB,KAAKrK,EAAE7iB,KAAKkuB,QAAQpkC,GAAGkkB,CAAC,CACwI,SAASyV,IAAI,CAAyB,SAASgD,EAAEppB,EAAEjB,EAAEtS,GAAGkW,KAAKuuB,MAAMlxB,EAAE2C,KAAKkrB,QAAQ9uB,EAAE4D,KAAKktB,KAAKrK,EAAE7iB,KAAKkuB,QAAQpkC,GAAGkkB,CAAC,CADxPwY,EAAEhgC,UAAUq7C,iBAAiB,CAAC,EACpQrb,EAAEhgC,UAAUotD,SAAS,SAASv2C,EAAEjB,GAAG,GAAG,kBAAkBiB,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAMmF,MAAM,yHAAyHxC,KAAKkuB,QAAQX,gBAAgBvtB,KAAK3C,EAAEjB,EAAE,WAAW,EAAEoqB,EAAEhgC,UAAUg5D,YAAY,SAASniD,GAAG2C,KAAKkuB,QAAQN,mBAAmB5tB,KAAK3C,EAAE,cAAc,EAAgBomB,EAAEj9B,UAAUggC,EAAEhgC,UAAsF,IAAImgC,EAAEF,EAAEjgC,UAAU,IAAIi9B,EACrfkD,EAAEnjB,YAAYijB,EAAElW,EAAEoW,EAAEH,EAAEhgC,WAAWmgC,EAAEoH,sBAAqB,EAAG,IAAIlF,EAAEtiC,MAAMue,QAAQ0e,EAAEt+B,OAAOsB,UAAUoZ,eAAe8sB,EAAE,CAACrf,QAAQ,MAAMmgB,EAAE,CAACtxB,KAAI,EAAG2yB,KAAI,EAAGuwB,QAAO,EAAGC,UAAS,GACtK,SAAShvB,EAAEhzB,EAAEjB,EAAEtS,GAAG,IAAI0S,EAAED,EAAE,CAAC,EAAEI,EAAE,KAAKD,EAAE,KAAK,GAAG,MAAMN,EAAE,IAAII,UAAK,IAASJ,EAAEyyB,MAAMnyB,EAAEN,EAAEyyB,UAAK,IAASzyB,EAAEF,MAAMS,EAAE,GAAGP,EAAEF,KAAKE,EAAEonB,EAAE5tB,KAAKwG,EAAEI,KAAKgxB,EAAE5tB,eAAepD,KAAKD,EAAEC,GAAGJ,EAAEI,IAAI,IAAIC,EAAErU,UAAUC,OAAO,EAAE,GAAG,IAAIoU,EAAEF,EAAE+I,SAASxb,OAAO,GAAG,EAAE2S,EAAE,CAAC,IAAI,IAAI1S,EAAExD,MAAMkW,GAAGG,EAAE,EAAEA,EAAEH,EAAEG,IAAI7S,EAAE6S,GAAGxU,UAAUwU,EAAE,GAAGL,EAAE+I,SAASvb,CAAC,CAAC,GAAGsT,GAAGA,EAAEtD,aAAa,IAAIyC,KAAKC,EAAEY,EAAEtD,kBAAe,IAASwC,EAAEC,KAAKD,EAAEC,GAAGC,EAAED,IAAI,MAAM,CAACe,SAAS1U,EAAEyR,KAAK+C,EAAEnB,IAAIS,EAAEkyB,IAAInyB,EAAE6xB,MAAMhyB,EAAEuyB,OAAOpC,EAAErf,QAAQ,CAChV,SAAS2jB,EAAE3zB,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEE,WAAW1U,CAAC,CAAoG,IAAIooC,EAAE,OAAO,SAASK,EAAEj0B,EAAEjB,GAAG,MAAM,kBAAkBiB,GAAG,OAAOA,GAAG,MAAMA,EAAEnB,IAA7K,SAAgBmB,GAAG,IAAIjB,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAIiB,EAAE/V,QAAQ,SAAQ,SAAS+V,GAAG,OAAOjB,EAAEiB,EAAE,GAAE,CAA+EoiD,CAAO,GAAGpiD,EAAEnB,KAAKE,EAAElV,SAAS,GAAG,CAC/W,SAASgsC,EAAE71B,EAAEjB,EAAEtS,EAAE0S,EAAED,GAAG,IAAII,SAASU,EAAK,cAAcV,GAAG,YAAYA,IAAEU,EAAE,MAAK,IAAIX,GAAE,EAAG,GAAG,OAAOW,EAAEX,GAAE,OAAQ,OAAOC,GAAG,IAAK,SAAS,IAAK,SAASD,GAAE,EAAG,MAAM,IAAK,SAAS,OAAOW,EAAEE,UAAU,KAAK1U,EAAE,KAAKU,EAAEmT,GAAE,GAAI,GAAGA,EAAE,OAAWH,EAAEA,EAANG,EAAEW,GAASA,EAAE,KAAKb,EAAE,IAAI80B,EAAE50B,EAAE,GAAGF,EAAEqsB,EAAEtsB,IAAIzS,EAAE,GAAG,MAAMuT,IAAIvT,EAAEuT,EAAE/V,QAAQ2pC,EAAE,OAAO,KAAKiC,EAAE32B,EAAEH,EAAEtS,EAAE,IAAG,SAASuT,GAAG,OAAOA,CAAC,KAAI,MAAMd,IAAIy0B,EAAEz0B,KAAKA,EADnW,SAAWc,EAAEjB,GAAG,MAAM,CAACmB,SAAS1U,EAAEyR,KAAK+C,EAAE/C,KAAK4B,IAAIE,EAAEyyB,IAAIxxB,EAAEwxB,IAAIN,MAAMlxB,EAAEkxB,MAAMO,OAAOzxB,EAAEyxB,OAAO,CACyQiC,CAAEx0B,EAAEzS,IAAIyS,EAAEL,KAAKQ,GAAGA,EAAER,MAAMK,EAAEL,IAAI,IAAI,GAAGK,EAAEL,KAAK5U,QAAQ2pC,EAAE,OAAO,KAAK5zB,IAAIjB,EAAEvV,KAAK0V,IAAI,EAAyB,GAAvBG,EAAE,EAAEF,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOqsB,EAAExrB,GAAG,IAAI,IAAIZ,EAAE,EAAEA,EAAEY,EAAEhV,OAAOoU,IAAI,CAC/e,IAAI1S,EAAEyS,EAAE80B,EADwe30B,EACrfU,EAAEZ,GAAeA,GAAGC,GAAGw2B,EAAEv2B,EAAEP,EAAEtS,EAAEC,EAAEwS,EAAE,MAAM,GAAGxS,EAPsU,SAAWsT,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAED,GAAGC,EAAED,IAAIC,EAAE,eAA0CA,EAAE,IAAI,CAO5bG,CAAEH,GAAG,oBAAoBtT,EAAE,IAAIsT,EAAEtT,EAAE6L,KAAKyH,GAAGZ,EAAE,IAAIE,EAAEU,EAAE+tB,QAAQ5hC,MAA6BkT,GAAGw2B,EAA1Bv2B,EAAEA,EAAEhT,MAA0ByS,EAAEtS,EAAtBC,EAAEyS,EAAE80B,EAAE30B,EAAEF,KAAkBF,QAAQ,GAAG,WAAWI,EAAE,MAAMP,EAAErV,OAAOsW,GAAGmF,MAAM,mDAAmD,oBAAoBpG,EAAE,qBAAqBlX,OAAO6W,KAAKsB,GAAG4xB,KAAK,MAAM,IAAI7yB,GAAG,6EAA6E,OAAOM,CAAC,CACzZ,SAASg+B,EAAEr9B,EAAEjB,EAAEtS,GAAG,GAAG,MAAMuT,EAAE,OAAOA,EAAE,IAAIb,EAAE,GAAGD,EAAE,EAAmD,OAAjD22B,EAAE71B,EAAEb,EAAE,GAAG,IAAG,SAASa,GAAG,OAAOjB,EAAExG,KAAK9L,EAAEuT,EAAEd,IAAI,IAAUC,CAAC,CAAC,SAAS6+B,EAAEh+B,GAAG,IAAI,IAAIA,EAAEqiD,QAAQ,CAAC,IAAItjD,EAAEiB,EAAEsiD,SAAQvjD,EAAEA,KAAMqpB,MAAK,SAASrpB,GAAM,IAAIiB,EAAEqiD,UAAU,IAAIriD,EAAEqiD,UAAQriD,EAAEqiD,QAAQ,EAAEriD,EAAEsiD,QAAQvjD,EAAC,IAAE,SAASA,GAAM,IAAIiB,EAAEqiD,UAAU,IAAIriD,EAAEqiD,UAAQriD,EAAEqiD,QAAQ,EAAEriD,EAAEsiD,QAAQvjD,EAAC,KAAI,IAAIiB,EAAEqiD,UAAUriD,EAAEqiD,QAAQ,EAAEriD,EAAEsiD,QAAQvjD,EAAE,CAAC,GAAG,IAAIiB,EAAEqiD,QAAQ,OAAOriD,EAAEsiD,QAAQ/V,QAAQ,MAAMvsC,EAAEsiD,OAAQ,CAC5Z,IAAIjkB,EAAE,CAACruB,QAAQ,MAAMwuB,EAAE,CAAC3oB,WAAW,MAAM6oB,EAAE,CAACnL,uBAAuB8K,EAAE3oB,wBAAwB8oB,EAAEvE,kBAAkB5K,GAAGjxB,EAAQmkD,SAAS,CAAC5R,IAAItT,EAAEj0C,QAAQ,SAAS4W,EAAEjB,EAAEtS,GAAG4wC,EAAEr9B,GAAE,WAAWjB,EAAExW,MAAMoa,KAAK5X,UAAU,GAAE0B,EAAE,EAAE+1D,MAAM,SAASxiD,GAAG,IAAIjB,EAAE,EAAuB,OAArBs+B,EAAEr9B,GAAE,WAAWjB,GAAG,IAAUA,CAAC,EAAE0jD,QAAQ,SAASziD,GAAG,OAAOq9B,EAAEr9B,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE0iD,KAAK,SAAS1iD,GAAG,IAAI2zB,EAAE3zB,GAAG,MAAMmF,MAAM,yEAAyE,OAAOnF,CAAC,GAAG5B,EAAQwxB,UAAUzG,EAAE/qB,EAAQoC,SAAShB,EACnepB,EAAQuC,SAASjB,EAAEtB,EAAQukD,cAAcv5B,EAAEhrB,EAAQwC,WAAWnB,EAAErB,EAAQyC,SAAShB,EAAEzB,EAAQ2F,mDAAmD26B,EAC9ItgC,EAAQ0hD,aAAa,SAAS9/C,EAAEjB,EAAEtS,GAAG,GAAG,OAAOuT,QAAG,IAASA,EAAE,MAAMmF,MAAM,iFAAiFnF,EAAE,KAAK,IAAIb,EAAE+T,EAAE,CAAC,EAAElT,EAAEkxB,OAAOhyB,EAAEc,EAAEnB,IAAIS,EAAEU,EAAEwxB,IAAInyB,EAAEW,EAAEyxB,OAAO,GAAG,MAAM1yB,EAAE,CAAoE,QAAnE,IAASA,EAAEyyB,MAAMlyB,EAAEP,EAAEyyB,IAAInyB,EAAEgwB,EAAErf,cAAS,IAASjR,EAAEF,MAAMK,EAAE,GAAGH,EAAEF,KAAQmB,EAAE/C,MAAM+C,EAAE/C,KAAKP,aAAa,IAAI0C,EAAEY,EAAE/C,KAAKP,aAAa,IAAIhQ,KAAKqS,EAAEonB,EAAE5tB,KAAKwG,EAAErS,KAAKyjC,EAAE5tB,eAAe7V,KAAKyS,EAAEzS,QAAG,IAASqS,EAAErS,SAAI,IAAS0S,EAAEA,EAAE1S,GAAGqS,EAAErS,GAAG,CAAC,IAAIA,EAAE3B,UAAUC,OAAO,EAAE,GAAG,IAAI0B,EAAEyS,EAAE8I,SAASxb,OAAO,GAAG,EAAEC,EAAE,CAAC0S,EAAElW,MAAMwD,GACrf,IAAI,IAAI6S,EAAE,EAAEA,EAAE7S,EAAE6S,IAAIH,EAAEG,GAAGxU,UAAUwU,EAAE,GAAGJ,EAAE8I,SAAS7I,CAAC,CAAC,MAAM,CAACc,SAAS1U,EAAEyR,KAAK+C,EAAE/C,KAAK4B,IAAIK,EAAEsyB,IAAIlyB,EAAE4xB,MAAM/xB,EAAEsyB,OAAOpyB,EAAE,EAAEjB,EAAQwkD,cAAc,SAAS5iD,GAAqK,OAAlKA,EAAE,CAACE,SAASD,EAAEmtB,cAAcptB,EAAE6iD,eAAe7iD,EAAE8iD,aAAa,EAAEC,SAAS,KAAKC,SAAS,KAAKC,cAAc,KAAKC,YAAY,OAAQH,SAAS,CAAC7iD,SAASP,EAAEgG,SAAS3F,GAAUA,EAAEgjD,SAAShjD,CAAC,EAAE5B,EAAQpN,cAAcgiC,EAAE50B,EAAQ+kD,cAAc,SAASnjD,GAAG,IAAIjB,EAAEi0B,EAAEhN,KAAK,KAAKhmB,GAAY,OAATjB,EAAE9B,KAAK+C,EAASjB,CAAC,EAAEX,EAAQ61C,UAAU,WAAW,MAAM,CAACjkC,QAAQ,KAAK,EAC9d5R,EAAQyiD,WAAW,SAAS7gD,GAAG,MAAM,CAACE,SAASN,EAAE/B,OAAOmC,EAAE,EAAE5B,EAAQglD,eAAezvB,EAAEv1B,EAAQilD,KAAK,SAASrjD,GAAG,MAAM,CAACE,SAASJ,EAAE8F,SAAS,CAACy8C,SAAS,EAAEC,QAAQtiD,GAAG6F,MAAMm4B,EAAE,EAAE5/B,EAAQyyC,KAAK,SAAS7wC,EAAEjB,GAAG,MAAM,CAACmB,SAAStX,EAAEqU,KAAK+C,EAAEzC,aAAQ,IAASwB,EAAE,KAAKA,EAAE,EAAEX,EAAQklD,gBAAgB,SAAStjD,GAAG,IAAIjB,EAAEy/B,EAAE3oB,WAAW2oB,EAAE3oB,WAAW,CAAC,EAAE,IAAI7V,GAAG,CAAC,QAAQw+B,EAAE3oB,WAAW9W,CAAC,CAAC,EAAEX,EAAQmlD,aAAa,WAAW,MAAMp+C,MAAM,2DAA4D,EAC1c/G,EAAQs5B,YAAY,SAAS13B,EAAEjB,GAAG,OAAOs/B,EAAEruB,QAAQ0nB,YAAY13B,EAAEjB,EAAE,EAAEX,EAAQu5B,WAAW,SAAS33B,GAAG,OAAOq+B,EAAEruB,QAAQ2nB,WAAW33B,EAAE,EAAE5B,EAAQg6B,cAAc,WAAW,EAAEh6B,EAAQi6B,iBAAiB,SAASr4B,GAAG,OAAOq+B,EAAEruB,QAAQqoB,iBAAiBr4B,EAAE,EAAE5B,EAAQw5B,UAAU,SAAS53B,EAAEjB,GAAG,OAAOs/B,EAAEruB,QAAQ4nB,UAAU53B,EAAEjB,EAAE,EAAEX,EAAQq6B,MAAM,WAAW,OAAO4F,EAAEruB,QAAQyoB,OAAO,EAAEr6B,EAAQy5B,oBAAoB,SAAS73B,EAAEjB,EAAEtS,GAAG,OAAO4xC,EAAEruB,QAAQ6nB,oBAAoB73B,EAAEjB,EAAEtS,EAAE,EAC7b2R,EAAQ05B,mBAAmB,SAAS93B,EAAEjB,GAAG,OAAOs/B,EAAEruB,QAAQ8nB,mBAAmB93B,EAAEjB,EAAE,EAAEX,EAAQ25B,gBAAgB,SAAS/3B,EAAEjB,GAAG,OAAOs/B,EAAEruB,QAAQ+nB,gBAAgB/3B,EAAEjB,EAAE,EAAEX,EAAQ45B,QAAQ,SAASh4B,EAAEjB,GAAG,OAAOs/B,EAAEruB,QAAQgoB,QAAQh4B,EAAEjB,EAAE,EAAEX,EAAQ65B,WAAW,SAASj4B,EAAEjB,EAAEtS,GAAG,OAAO4xC,EAAEruB,QAAQioB,WAAWj4B,EAAEjB,EAAEtS,EAAE,EAAE2R,EAAQ85B,OAAO,SAASl4B,GAAG,OAAOq+B,EAAEruB,QAAQkoB,OAAOl4B,EAAE,EAAE5B,EAAQ+5B,SAAS,SAASn4B,GAAG,OAAOq+B,EAAEruB,QAAQmoB,SAASn4B,EAAE,EAAE5B,EAAQo6B,qBAAqB,SAASx4B,EAAEjB,EAAEtS,GAAG,OAAO4xC,EAAEruB,QAAQwoB,qBAAqBx4B,EAAEjB,EAAEtS,EAAE,EAC/e2R,EAAQk6B,cAAc,WAAW,OAAO+F,EAAEruB,QAAQsoB,eAAe,EAAEl6B,EAAQzO,QAAQ,2CCtBjFwO,EAAOC,QAAU,EAAjBD,uCCAAA,EAAOC,QAAU,EAAjBD,qCCMW,SAASzR,EAAEsT,EAAEjB,GAAG,IAAIG,EAAEc,EAAEhV,OAAOgV,EAAExW,KAAKuV,GAAGiB,EAAE,KAAK,EAAEd,GAAG,CAAC,IAAIC,EAAED,EAAE,IAAI,EAAEzS,EAAEuT,EAAEb,GAAG,KAAG,EAAEC,EAAE3S,EAAEsS,IAA0B,MAAMiB,EAA7BA,EAAEb,GAAGJ,EAAEiB,EAAEd,GAAGzS,EAAEyS,EAAEC,CAAc,CAAC,CAAC,SAASE,EAAEW,GAAG,OAAO,IAAIA,EAAEhV,OAAO,KAAKgV,EAAE,EAAE,CAAC,SAASV,EAAEU,GAAG,GAAG,IAAIA,EAAEhV,OAAO,OAAO,KAAK,IAAI+T,EAAEiB,EAAE,GAAGd,EAAEc,EAAE1W,MAAM,GAAG4V,IAAIH,EAAE,CAACiB,EAAE,GAAGd,EAAEc,EAAE,IAAI,IAAIb,EAAE,EAAE1S,EAAEuT,EAAEhV,OAAO6U,EAAEpT,IAAI,EAAE0S,EAAEU,GAAG,CAAC,IAAIN,EAAE,GAAGJ,EAAE,GAAG,EAAE+T,EAAElT,EAAET,GAAGrT,EAAEqT,EAAE,EAAE3W,EAAEoX,EAAE9T,GAAG,GAAG,EAAEkT,EAAE8T,EAAEhU,GAAGhT,EAAEO,GAAG,EAAE2S,EAAExW,EAAEsqB,IAAIlT,EAAEb,GAAGvW,EAAEoX,EAAE9T,GAAGgT,EAAEC,EAAEjT,IAAI8T,EAAEb,GAAG+T,EAAElT,EAAET,GAAGL,EAAEC,EAAEI,OAAQ,MAAGrT,EAAEO,GAAG,EAAE2S,EAAExW,EAAEsW,IAA0B,MAAMc,EAA7BA,EAAEb,GAAGvW,EAAEoX,EAAE9T,GAAGgT,EAAEC,EAAEjT,CAAc,EAAC,CAAC,OAAO6S,CAAC,CAC3c,SAASK,EAAEY,EAAEjB,GAAG,IAAIG,EAAEc,EAAEwjD,UAAUzkD,EAAEykD,UAAU,OAAO,IAAItkD,EAAEA,EAAEc,EAAEiW,GAAGlX,EAAEkX,EAAE,CAAC,GAAG,kBAAkBwtC,aAAa,oBAAoBA,YAAYtrC,IAAI,CAAC,IAAI3sB,EAAEi4D,YAAYrlD,EAAQwS,aAAa,WAAW,OAAOplB,EAAE2sB,KAAK,CAAC,KAAK,CAAC,IAAI3Y,EAAE0Y,KAAKzY,EAAED,EAAE2Y,MAAM/Z,EAAQwS,aAAa,WAAW,OAAOpR,EAAE2Y,MAAM1Y,CAAC,CAAC,CAAC,IAAIC,EAAE,GAAGC,EAAE,GAAGM,EAAE,EAAEL,EAAE,KAAKE,EAAE,EAAEC,GAAE,EAAGI,GAAE,EAAGwQ,GAAE,EAAG6U,EAAE,oBAAoBoC,WAAWA,WAAW,KAAKuB,EAAE,oBAAoBrB,aAAaA,aAAa,KAAK1B,EAAE,qBAAqBs9B,aAAaA,aAAa,KACnT,SAASt6B,EAAEppB,GAAG,IAAI,IAAIjB,EAAEM,EAAEM,GAAG,OAAOZ,GAAG,CAAC,GAAG,OAAOA,EAAEowB,SAAS7vB,EAAEK,OAAQ,MAAGZ,EAAE4kD,WAAW3jD,GAAgD,MAA9CV,EAAEK,GAAGZ,EAAEykD,UAAUzkD,EAAE6kD,eAAel3D,EAAEgT,EAAEX,EAAa,CAACA,EAAEM,EAAEM,EAAE,CAAC,CAAC,SAAS2pB,EAAEtpB,GAAa,GAAV2Q,GAAE,EAAGyY,EAAEppB,IAAOG,EAAE,GAAG,OAAOd,EAAEK,GAAGS,GAAE,EAAGqrB,EAAErF,OAAO,CAAC,IAAIpnB,EAAEM,EAAEM,GAAG,OAAOZ,GAAGswB,EAAE/F,EAAEvqB,EAAE4kD,UAAU3jD,EAAE,CAAC,CACra,SAASmmB,EAAEnmB,EAAEjB,GAAGoB,GAAE,EAAGwQ,IAAIA,GAAE,EAAGwY,EAAEgH,GAAGA,GAAG,GAAGpwB,GAAE,EAAG,IAAIb,EAAEY,EAAE,IAAS,IAALspB,EAAErqB,GAAOa,EAAEP,EAAEK,GAAG,OAAOE,MAAMA,EAAEgkD,eAAe7kD,IAAIiB,IAAIgzB,MAAM,CAAC,IAAI7zB,EAAES,EAAEuvB,SAAS,GAAG,oBAAoBhwB,EAAE,CAACS,EAAEuvB,SAAS,KAAKrvB,EAAEF,EAAEikD,cAAc,IAAIp3D,EAAE0S,EAAES,EAAEgkD,gBAAgB7kD,GAAGA,EAAEX,EAAQwS,eAAe,oBAAoBnkB,EAAEmT,EAAEuvB,SAAS1iC,EAAEmT,IAAIP,EAAEK,IAAIJ,EAAEI,GAAG0pB,EAAErqB,EAAE,MAAMO,EAAEI,GAAGE,EAAEP,EAAEK,EAAE,CAAC,GAAG,OAAOE,EAAE,IAAIC,GAAE,MAAO,CAAC,IAAIN,EAAEF,EAAEM,GAAG,OAAOJ,GAAG8vB,EAAE/F,EAAE/pB,EAAEokD,UAAU5kD,GAAGc,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQD,EAAE,KAAKE,EAAEZ,EAAEa,GAAE,CAAE,CAAC,CAD1a,qBAAqB+jD,gBAAW,IAASA,UAAUC,iBAAY,IAASD,UAAUC,WAAWC,gBAAgBF,UAAUC,WAAWC,eAAeh+B,KAAK89B,UAAUC,YAC2Q,IACzP1mB,EAD6P3J,GAAE,EAAGC,EAAE,KAAKxD,GAAG,EAAEyD,EAAE,EAAEK,GAAG,EACvc,SAASjB,IAAI,QAAO50B,EAAQwS,eAAeqjB,EAAEL,EAAO,CAAC,SAASiC,IAAI,GAAG,OAAOlC,EAAE,CAAC,IAAI3zB,EAAE5B,EAAQwS,eAAeqjB,EAAEj0B,EAAE,IAAIjB,GAAE,EAAG,IAAIA,EAAE40B,GAAE,EAAG3zB,EAAE,CAAC,QAAQjB,EAAEs+B,KAAK3J,GAAE,EAAGC,EAAE,KAAK,CAAC,MAAMD,GAAE,CAAE,CAAO,GAAG,oBAAoBtN,EAAEiX,EAAE,WAAWjX,EAAEyP,EAAE,OAAO,GAAG,qBAAqBouB,eAAe,CAAC,IAAIjmB,EAAE,IAAIimB,eAAe5lB,EAAEL,EAAEkmB,MAAMlmB,EAAEmmB,MAAMC,UAAUvuB,EAAEwH,EAAE,WAAWgB,EAAEgmB,YAAY,KAAK,CAAC,MAAMhnB,EAAE,WAAW7X,EAAEqQ,EAAE,EAAE,EAAE,SAASrK,EAAExrB,GAAG2zB,EAAE3zB,EAAE0zB,IAAIA,GAAE,EAAG2J,IAAI,CAAC,SAAShO,EAAErvB,EAAEjB,GAAGoxB,EAAE3K,GAAE,WAAWxlB,EAAE5B,EAAQwS,eAAe,GAAE7R,EAAE,CAC5dX,EAAQoT,sBAAsB,EAAEpT,EAAQ4S,2BAA2B,EAAE5S,EAAQkT,qBAAqB,EAAElT,EAAQgT,wBAAwB,EAAEhT,EAAQkmD,mBAAmB,KAAKlmD,EAAQ8S,8BAA8B,EAAE9S,EAAQkS,wBAAwB,SAAStQ,GAAGA,EAAEmvB,SAAS,IAAI,EAAE/wB,EAAQmmD,2BAA2B,WAAWpkD,GAAGJ,IAAII,GAAE,EAAGqrB,EAAErF,GAAG,EAC1U/nB,EAAQomD,wBAAwB,SAASxkD,GAAG,EAAEA,GAAG,IAAIA,EAAEhT,QAAQisC,MAAM,mHAAmHrF,EAAE,EAAE5zB,EAAE4R,KAAK6yC,MAAM,IAAIzkD,GAAG,CAAC,EAAE5B,EAAQ0S,iCAAiC,WAAW,OAAOhR,CAAC,EAAE1B,EAAQsmD,8BAA8B,WAAW,OAAOrlD,EAAEK,EAAE,EAAEtB,EAAQumD,cAAc,SAAS3kD,GAAG,OAAOF,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAIf,EAAE,EAAE,MAAM,QAAQA,EAAEe,EAAE,IAAIZ,EAAEY,EAAEA,EAAEf,EAAE,IAAI,OAAOiB,GAAG,CAAC,QAAQF,EAAEZ,CAAC,CAAC,EAAEd,EAAQwmD,wBAAwB,WAAW,EAC9fxmD,EAAQsS,sBAAsB,WAAW,EAAEtS,EAAQymD,yBAAyB,SAAS7kD,EAAEjB,GAAG,OAAOiB,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAId,EAAEY,EAAEA,EAAEE,EAAE,IAAI,OAAOjB,GAAG,CAAC,QAAQe,EAAEZ,CAAC,CAAC,EAChMd,EAAQgS,0BAA0B,SAASpQ,EAAEjB,EAAEG,GAAG,IAAIC,EAAEf,EAAQwS,eAA8F,OAA/E,kBAAkB1R,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAE4lD,QAA6B,EAAE5lD,EAAEC,EAAED,EAAEC,EAAGD,EAAEC,EAASa,GAAG,KAAK,EAAE,IAAIvT,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAAmN,OAAzMuT,EAAE,CAACiW,GAAGhW,IAAIkvB,SAASpwB,EAAE8kD,cAAc7jD,EAAE2jD,UAAUzkD,EAAE0kD,eAAvDn3D,EAAEyS,EAAEzS,EAAoE+2D,WAAW,GAAGtkD,EAAEC,GAAGa,EAAEwjD,UAAUtkD,EAAExS,EAAEiT,EAAEK,GAAG,OAAOX,EAAEK,IAAIM,IAAIX,EAAEM,KAAKgR,GAAGwY,EAAEgH,GAAGA,GAAG,GAAGxf,GAAE,EAAG0e,EAAE/F,EAAEpqB,EAAEC,MAAMa,EAAEwjD,UAAU/2D,EAAEC,EAAEgT,EAAEM,GAAGG,GAAGJ,IAAII,GAAE,EAAGqrB,EAAErF,KAAYnmB,CAAC,EACne5B,EAAQoS,qBAAqBwiB,EAAE50B,EAAQ2mD,sBAAsB,SAAS/kD,GAAG,IAAIjB,EAAEe,EAAE,OAAO,WAAW,IAAIZ,EAAEY,EAAEA,EAAEf,EAAE,IAAI,OAAOiB,EAAEzX,MAAMoa,KAAK5X,UAAU,CAAC,QAAQ+U,EAAEZ,CAAC,CAAC,CAAC,oCCf7Jf,EAAOC,QAAU,EAAjBD,sBCDFA,EAAOC,QAAU,SAAsB4mD,EAAMC,EAAM1nD,EAAS2nD,GAC1D,IAAIC,EAAM5nD,EAAUA,EAAQhF,KAAK2sD,EAAgBF,EAAMC,QAAQ,EAE/D,QAAY,IAARE,EACF,QAASA,EAGX,GAAIH,IAASC,EACX,OAAO,EAGT,GAAoB,kBAATD,IAAsBA,GAAwB,kBAATC,IAAsBA,EACpE,OAAO,EAGT,IAAIG,EAAQv9D,OAAO6W,KAAKsmD,GACpBK,EAAQx9D,OAAO6W,KAAKumD,GAExB,GAAIG,EAAMp6D,SAAWq6D,EAAMr6D,OACzB,OAAO,EAMT,IAHA,IAAIs6D,EAAkBz9D,OAAOsB,UAAUoZ,eAAeyjB,KAAKi/B,GAGlDM,EAAM,EAAGA,EAAMH,EAAMp6D,OAAQu6D,IAAO,CAC3C,IAAI1mD,EAAMumD,EAAMG,GAEhB,IAAKD,EAAgBzmD,GACnB,OAAO,EAGT,IAAI2mD,EAASR,EAAKnmD,GACd4mD,EAASR,EAAKpmD,GAIlB,IAAY,KAFZsmD,EAAM5nD,EAAUA,EAAQhF,KAAK2sD,EAAgBM,EAAQC,EAAQ5mD,QAAO,SAEtC,IAARsmD,GAAkBK,IAAWC,EACjD,OAAO,CAEX,CAEA,OAAO,CACT,IC5CIC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBp2D,IAAjBq2D,EACH,OAAOA,EAAaznD,QAGrB,IAAID,EAASunD,EAAyBE,GAAY,CAGjDxnD,QAAS,CAAC,GAOX,OAHA0nD,EAAoBF,GAAUrtD,KAAK4F,EAAOC,QAASD,EAAQA,EAAOC,QAASunD,GAGpExnD,EAAOC,OACf,CCrBAunD,EAAoBz5D,EAAI,SAASiS,GAChC,IAAI4nD,EAAS5nD,GAAUA,EAAOmuC,WAC7B,WAAa,OAAOnuC,EAAgB,OAAG,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAwnD,EAAoBxmD,EAAE4mD,EAAQ,CAAE/lD,EAAG+lD,IAC5BA,CACR,aCPA,IACIC,EADAC,EAAWp+D,OAAOG,eAAiB,SAASk+D,GAAO,OAAOr+D,OAAOG,eAAek+D,EAAM,EAAI,SAASA,GAAO,OAAOA,EAAIpT,SAAW,EAQpI6S,EAAoBhmD,EAAI,SAASrT,EAAO8/B,GAEvC,GADU,EAAPA,IAAU9/B,EAAQqW,KAAKrW,IAChB,EAAP8/B,EAAU,OAAO9/B,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAP8/B,GAAa9/B,EAAMggD,WAAY,OAAOhgD,EAC1C,GAAW,GAAP8/B,GAAoC,oBAAf9/B,EAAM87B,KAAqB,OAAO97B,CAC5D,CACA,IAAI65D,EAAKt+D,OAAOO,OAAO,MACvBu9D,EAAoBjmD,EAAEymD,GACtB,IAAIC,EAAM,CAAC,EACXJ,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIj2C,EAAiB,EAAPoc,GAAY9/B,EAAyB,iBAAX0jB,KAAyBg2C,EAAe77D,QAAQ6lB,GAAUA,EAAUi2C,EAASj2C,GACxHnoB,OAAOmW,oBAAoBgS,GAAS5mB,SAAQ,SAASyV,GAAOunD,EAAIvnD,GAAO,WAAa,OAAOvS,EAAMuS,EAAM,CAAG,IAI3G,OAFAunD,EAAa,QAAI,WAAa,OAAO95D,CAAO,EAC5Cq5D,EAAoBxmD,EAAEgnD,EAAIC,GACnBD,CACR,KCxBAR,EAAoBxmD,EAAI,SAASf,EAASioD,GACzC,IAAI,IAAIxnD,KAAOwnD,EACXV,EAAoBpc,EAAE8c,EAAYxnD,KAAS8mD,EAAoBpc,EAAEnrC,EAASS,IAC5EhX,OAAOkW,eAAeK,EAASS,EAAK,CAAE9L,YAAY,EAAMjG,IAAKu5D,EAAWxnD,IAG3E,ECPA8mD,EAAoBvmD,EAAI,WACvB,GAA0B,kBAAfotC,WAAyB,OAAOA,WAC3C,IACC,OAAO7pC,MAAQ,IAAInN,SAAS,cAAb,EAChB,CAAE,MAAO/I,GACR,GAAsB,kBAAX8B,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBo3D,EAAoBpc,EAAI,SAAS2c,EAAKt5D,GAAQ,OAAO/E,OAAOsB,UAAUoZ,eAAehK,KAAK2tD,EAAKt5D,EAAO,ECCtG+4D,EAAoBjmD,EAAI,SAAStB,GACX,qBAAXY,QAA0BA,OAAOytC,aAC1C5kD,OAAOkW,eAAeK,EAASY,OAAOytC,YAAa,CAAEngD,MAAO,WAE7DzE,OAAOkW,eAAeK,EAAS,aAAc,CAAE9R,OAAO,GACvD,ECNAq5D,EAAoBnmD,EAAI,0BCAxBmmD,EAAoBW,QAAK92D,8BCOb+2D,+BCPG,SAASC,EAAgBC,GACtC,GAAIv9D,MAAMue,QAAQg/C,GAAM,OAAOA,CACjC,CCFe,SAASC,EAAkBD,EAAKE,IAClC,MAAPA,GAAeA,EAAMF,EAAIz7D,UAAQ27D,EAAMF,EAAIz7D,QAC/C,IAAK,IAAI4O,EAAI,EAAGgtD,EAAO,IAAI19D,MAAMy9D,GAAM/sD,EAAI+sD,EAAK/sD,IAAKgtD,EAAKhtD,GAAK6sD,EAAI7sD,GACnE,OAAOgtD,CACT,CCHe,SAASC,EAA4Btd,EAAGud,GACrD,GAAKvd,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,EAAiBA,EAAGud,GACtD,IAAI56D,EAAIrE,OAAOsB,UAAUU,SAAS0O,KAAKgxC,GAAG/lC,MAAM,GAAI,GAEpD,MADU,WAANtX,GAAkBq9C,EAAEpjC,cAAaja,EAAIq9C,EAAEpjC,YAAYhP,MAC7C,QAANjL,GAAqB,QAANA,EAAoBhD,MAAMoO,KAAKiyC,GACxC,cAANr9C,GAAqB,2CAA2C1B,KAAK0B,GAAW,EAAiBq9C,EAAGud,QAAxG,CALc,CAMhB,CCRe,SAASC,IACtB,MAAM,IAAIp8D,UAAU,4IACtB,CCEe,SAAS,EAAe87D,EAAK7sD,GAC1C,OAAO,EAAe6sD,ICLT,SAA+BA,EAAK7sD,GACjD,IAAIotD,EAAK,MAAQP,EAAM,KAAO,oBAAsBznD,QAAUynD,EAAIznD,OAAO8F,WAAa2hD,EAAI,cAC1F,GAAI,MAAQO,EAAI,CACd,IAAIC,EACFjU,EACAkU,EACAC,EACAC,EAAO,GACPC,GAAK,EACLC,GAAK,EACP,IACE,GAAIJ,GAAMF,EAAKA,EAAGzuD,KAAKkuD,IAAM14B,KAAM,IAAMn0B,EAAG,CAC1C,GAAI/R,OAAOm/D,KAAQA,EAAI,OACvBK,GAAK,CACP,MAAO,OAASA,GAAMJ,EAAKC,EAAG3uD,KAAKyuD,IAAK76D,QAAUi7D,EAAK59D,KAAKy9D,EAAG36D,OAAQ86D,EAAKp8D,SAAW4O,GAAIytD,GAAK,GAClG,CAAE,MAAO76D,GACP86D,GAAK,EAAItU,EAAKxmD,CAChB,CAAE,QACA,IACE,IAAK66D,GAAM,MAAQL,EAAW,SAAMG,EAAKH,EAAW,SAAKn/D,OAAOs/D,KAAQA,GAAK,MAC/E,CAAE,QACA,GAAIG,EAAI,MAAMtU,CAChB,CACF,CACA,OAAOoU,CACT,CACF,CDrBgC,CAAqBX,EAAK7sD,IAAM,EAA2B6sD,EAAK7sD,IAAM,GACtG,CENe,SAAS2tD,EAAiBC,GACvC,GAAsB,qBAAXxoD,QAAmD,MAAzBwoD,EAAKxoD,OAAO8F,WAA2C,MAAtB0iD,EAAK,cAAuB,OAAOt+D,MAAMoO,KAAKkwD,EACtH,CCEe,SAAS,EAAmBf,GACzC,OCJa,SAA4BA,GACzC,GAAIv9D,MAAMue,QAAQg/C,GAAM,OAAO,EAAiBA,EAClD,CDES,CAAkBA,IAAQ,EAAgBA,IAAQ,EAA2BA,IELvE,WACb,MAAM,IAAI97D,UAAU,uIACtB,CFG8F,EAC9F,CGNe,SAAS,EAAgB26B,EAAUmiC,GAChD,KAAMniC,aAAoBmiC,GACxB,MAAM,IAAI98D,UAAU,oCAExB,CCJe,SAASgE,EAAQu3D,GAG9B,OAAOv3D,EAAU,mBAAqBqQ,QAAU,iBAAmBA,OAAO8F,SAAW,SAAUohD,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAO,mBAAqBlnD,QAAUknD,EAAI//C,cAAgBnH,QAAUknD,IAAQlnD,OAAO7V,UAAY,gBAAkB+8D,CAC1H,EAAGv3D,EAAQu3D,EACb,CCNe,SAASwB,EAAeC,GACrC,IAAI9oD,ECFS,SAAsB8N,EAAOi7C,GAC1C,GAAuB,WAAnBj5D,EAAQge,IAAiC,OAAVA,EAAgB,OAAOA,EAC1D,IAAIk7C,EAAOl7C,EAAM3N,OAAO8oD,aACxB,QAAat4D,IAATq4D,EAAoB,CACtB,IAAIE,EAAMF,EAAKtvD,KAAKoU,EAAOi7C,GAAQ,WACnC,GAAqB,WAAjBj5D,EAAQo5D,GAAmB,OAAOA,EACtC,MAAM,IAAIp9D,UAAU,+CACtB,CACA,OAAiB,WAATi9D,EAAoBl+D,OAASy3D,QAAQx0C,EAC/C,CDPY,CAAYg7C,EAAK,UAC3B,MAAwB,WAAjBh5D,EAAQkQ,GAAoBA,EAAMnV,OAAOmV,EAClD,CEJA,SAASmpD,EAAkBx6C,EAAQ0jB,GACjC,IAAK,IAAIt3B,EAAI,EAAGA,EAAIs3B,EAAMlmC,OAAQ4O,IAAK,CACrC,IAAIkF,EAAaoyB,EAAMt3B,GACvBkF,EAAW/L,WAAa+L,EAAW/L,aAAc,EACjD+L,EAAWhM,cAAe,EACtB,UAAWgM,IAAYA,EAAWjM,UAAW,GACjDhL,OAAOkW,eAAeyP,EAAQ,EAAc1O,EAAWD,KAAMC,EAC/D,CACF,CACe,SAAS,EAAa2oD,EAAaQ,EAAYC,GAM5D,OALID,GAAYD,EAAkBP,EAAYt+D,UAAW8+D,GACrDC,GAAaF,EAAkBP,EAAaS,GAChDrgE,OAAOkW,eAAe0pD,EAAa,YAAa,CAC9C50D,UAAU,IAEL40D,CACT,CCjBe,SAASU,EAAgB5e,EAAG/pC,GAKzC,OAJA2oD,EAAkBtgE,OAAOC,eAAiBD,OAAOC,eAAek+B,OAAS,SAAyBujB,EAAG/pC,GAEnG,OADA+pC,EAAEuJ,UAAYtzC,EACP+pC,CACT,EACO4e,EAAgB5e,EAAG/pC,EAC5B,CCLe,SAAS4oD,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI39D,UAAU,sDAEtB09D,EAASl/D,UAAYtB,OAAOO,OAAOkgE,GAAcA,EAAWn/D,UAAW,CACrEgd,YAAa,CACX7Z,MAAO+7D,EACPx1D,UAAU,EACVC,cAAc,KAGlBjL,OAAOkW,eAAesqD,EAAU,YAAa,CAC3Cx1D,UAAU,IAERy1D,GAAY,EAAeD,EAAUC,EAC3C,CChBe,SAASC,EAAgBhf,GAItC,OAHAgf,EAAkB1gE,OAAOC,eAAiBD,OAAOG,eAAeg+B,OAAS,SAAyBujB,GAChG,OAAOA,EAAEuJ,WAAajrD,OAAOG,eAAeuhD,EAC9C,EACOgf,EAAgBhf,EACzB,CCLe,SAASif,IACtB,GAAuB,qBAAZlgE,UAA4BA,QAAQE,UAAW,OAAO,EACjE,GAAIF,QAAQE,UAAU0qD,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EACxC,IAEE,OADAv8C,QAAQzN,UAAUsf,QAAQlQ,KAAKjQ,QAAQE,UAAUoO,QAAS,IAAI,WAAa,MACpE,CACT,CAAE,MAAOnK,GACP,OAAO,CACT,CACF,CCRe,SAASg8D,EAA2B9b,EAAMp0C,GACvD,GAAIA,IAA2B,WAAlB5J,EAAQ4J,IAAsC,oBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAI5N,UAAU,4DAEtB,OCRa,SAAgCgiD,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIoG,eAAe,6DAE3B,OAAOpG,CACT,CDGS,CAAsBA,EAC/B,CENe,SAAS+b,EAAaC,GACnC,IAAIC,EAA4B,IAChC,OAAO,WACL,IACEC,EADEC,EAAQ,EAAeH,GAE3B,GAAIC,EAA2B,CAC7B,IAAIG,EAAY,EAAepmD,MAAMwD,YACrC0iD,EAASvgE,QAAQE,UAAUsgE,EAAO/9D,UAAWg+D,EAC/C,MACEF,EAASC,EAAMvgE,MAAMoa,KAAM5X,WAE7B,OAAO,EAA0B4X,KAAMkmD,EACzC,CACF,CCde,SAAS//D,EAAWkgE,EAAQrgE,EAAMsgE,GAa/C,OAXEngE,EADE,IACWR,QAAQE,UAAUw9B,OAElB,SAAoBgjC,EAAQrgE,EAAMsgE,GAC7C,IAAIjpD,EAAI,CAAC,MACTA,EAAExW,KAAKjB,MAAMyX,EAAGrX,GAChB,IACI28B,EAAW,IADG9vB,SAASwwB,KAAKz9B,MAAMygE,EAAQhpD,IAG9C,OADIipD,GAAO,EAAe3jC,EAAU2jC,EAAM9/D,WACnCm8B,CACT,EAEKx8B,EAAWP,MAAM,KAAMwC,UAChC,CCZe,SAASm+D,EAAiBD,GACvC,IAAIE,EAAwB,oBAARp1C,IAAqB,IAAIA,SAAQvkB,EAuBrD,OAtBA05D,EAAmB,SAA0BD,GAC3C,GAAc,OAAVA,ICPkCG,EDOEH,GCNsB,IAAzDzzD,SAAS3L,SAAS0O,KAAK6wD,GAAIj/D,QAAQ,kBDMQ,OAAO8+D,ECP5C,IAA2BG,EDQtC,GAAqB,oBAAVH,EACT,MAAM,IAAIt+D,UAAU,sDAEtB,GAAsB,qBAAXw+D,EAAwB,CACjC,GAAIA,EAAOzjC,IAAIujC,GAAQ,OAAOE,EAAOr8D,IAAIm8D,GACzCE,EAAO99D,IAAI49D,EAAOI,EACpB,CACA,SAASA,IACP,OAAO,EAAUJ,EAAOl+D,UAAW,EAAe4X,MAAMwD,YAC1D,CASA,OARAkjD,EAAQlgE,UAAYtB,OAAOO,OAAO6gE,EAAM9/D,UAAW,CACjDgd,YAAa,CACX7Z,MAAO+8D,EACPt2D,YAAY,EACZF,UAAU,EACVC,cAAc,KAGX,EAAeu2D,EAASJ,EACjC,EACOC,EAAiBD,EAC1B,sOxBtBA,SAAY1C,GAQVA,EAAA,UAOAA,EAAA,YAMAA,EAAA,iBArBF,EAAYA,IAAAA,EAsBX,KAkKD,I0BrLY+C,E1BqLNC,EAAoB,WA8RV,SAAAC,EAAUl9D,EAAYusC,GACpC,IAAc,IAAVvsC,GAA6B,OAAVA,GAAmC,qBAAVA,EAC9C,MAAM,IAAI6Y,MAAM0zB,EAEnB,CA0BD,SAAS4wB,EAAgBxtC,EAAoB8V,GAC3C,MAAO,CACL23B,IAAKztC,EAAS2U,MACd/xB,IAAKod,EAASpd,IACd0mD,IAAKxzB,EAER,CAKK,SAAU43B,EACd35C,EACA45C,EACAh5B,EACA/xB,GAcA,YAdY,IADZ+xB,IAAAA,EAAa,MAGDi5B,EAAA,CACVC,SAA6B,kBAAZ95C,EAAuBA,EAAUA,EAAQ85C,SAC1D5qC,OAAQ,GACR6qC,KAAM,IACY,kBAAPH,EAAkBI,EAAUJ,GAAMA,EAJnC,CAKVh5B,MAAAA,EAKA/xB,IAAM+qD,GAAOA,EAAgB/qD,KAAQA,GAjChC+S,KAAKkU,SAASj8B,SAAS,IAAIogE,OAAO,EAAG,IAoC7C,CAKe,SAAAC,EAIA7hE,GAAA,IAAA8hE,EAAA9hE,EAHdyhE,SAAAA,OAAQ,IAAAK,EAAG,IADcA,EAAAC,EAIX/hE,EAFd62B,OAAAA,OAAM,IAAAkrC,EAAG,GAFgBA,EAAAC,EAIXhiE,EADd0hE,KAAAA,OAAI,IAAAM,EAAG,GAAAA,EAMP,OAJInrC,GAAqB,MAAXA,IACZ4qC,GAAiC,MAArB5qC,EAAOlT,OAAO,GAAakT,EAAS,IAAMA,GACpD6qC,GAAiB,MAATA,IACVD,GAA+B,MAAnBC,EAAK/9C,OAAO,GAAa+9C,EAAO,IAAMA,GAC7CD,CACR,CAKK,SAAUE,EAAUM,GACxB,IAAIC,EAA4B,CAAC,EAEjC,GAAID,EAAM,CACR,IAAIE,EAAYF,EAAKngE,QAAQ,KACzBqgE,GAAa,IACfD,EAAWR,KAAOO,EAAKL,OAAOO,GAC9BF,EAAOA,EAAKL,OAAO,EAAGO,IAGxB,IAAIC,EAAcH,EAAKngE,QAAQ,KAC3BsgE,GAAe,IACjBF,EAAWrrC,OAASorC,EAAKL,OAAOQ,GAChCH,EAAOA,EAAKL,OAAO,EAAGQ,IAGpBH,IACFC,EAAWT,SAAWQ,EAEzB,CAED,OAAOC,CACR,CASD,SAASG,EACPC,EACAC,EACAC,EACAljD,QAA+B,IAA/BA,IAAAA,EAA6B,CAAC,GAE9B,IAAAmjD,EAA2DnjD,EAA3DojD,EAAAD,EAAMv8D,OAAAA,OAAM,IAAAw8D,EAAGr8D,SAAS6zB,YAApBwoC,EAAAC,EAAAF,EAAkCG,SAAAA,OAAQ,IAAAD,GAAGA,EAC7CE,EAAgB38D,EAAO48D,QACvBn2B,EAASuxB,EAAO6E,IAChB7lC,EAA4B,KAE5BwM,EAAQs5B,IASZ,SAASA,IAEP,OADYH,EAAct6B,OAAS,CAAE20B,IAAK,OAC7BA,GACd,CAED,SAAS+F,IACPt2B,EAASuxB,EAAO6E,IAChB,IAAIG,EAAYF,IACZ7gB,EAAqB,MAAb+gB,EAAoB,KAAOA,EAAYx5B,EACnDA,EAAQw5B,EACJhmC,GACFA,EAAS,CAAEyP,OAAAA,EAAQ/Y,SAAUkvC,EAAQlvC,SAAUuuB,MAAAA,GAElD,CAwCD,SAASghB,EAAU5B,GAIjB,IAAIv9C,EACyB,SAA3B9d,EAAO0tB,SAASwvC,OACZl9D,EAAO0tB,SAASwvC,OAChBl9D,EAAO0tB,SAAS2F,KAElBA,EAAqB,kBAAPgoC,EAAkBA,EAAKM,EAAWN,GAKpD,OAJAJ,EACEn9C,EACsE,sEAAAuV,GAEjE,IAAI8pC,IAAI9pC,EAAMvV,EACtB,CAzEY,MAAT0lB,IACFA,EAAQ,EACRm5B,EAAcS,aAAkB9B,EAAA,GAAAqB,EAAct6B,MAA9C,CAAqD20B,IAAKxzB,IAAS,KAyErE,IAAIo5B,EAAmB,CACjBn2B,aACF,OAAOA,GAEL/Y,eACF,OAAO0uC,EAAYp8D,EAAQ28D,IAE7BU,OAAM,SAACxC,GACL,GAAI7jC,EACF,MAAM,IAAIpgB,MAAM,8CAKlB,OAHA5W,EAAOogB,iBAAiB46C,EAAmB+B,GAC3C/lC,EAAW6jC,EAEJ,WACL76D,EAAOqgB,oBAAoB26C,EAAmB+B,GAC9C/lC,EAAW,OAGfqlC,WAAU,SAAChB,GACT,OAAOgB,EAAWr8D,EAAQq7D,IAE5B4B,UAAAA,EACAK,eAAc,SAACjC,GAEb,IAAIvqC,EAAMmsC,EAAU5B,GACpB,MAAO,CACLE,SAAUzqC,EAAIyqC,SACd5qC,OAAQG,EAAIH,OACZ6qC,KAAM1qC,EAAI0qC,OAGdvgE,KAvFF,SAAcogE,EAAQh5B,GACpBoE,EAASuxB,EAAOuF,KAChB,IAAI7vC,EAAW0tC,EAAewB,EAAQlvC,SAAU2tC,EAAIh5B,GAChDi6B,GAAkBA,EAAiB5uC,EAAU2tC,GAGjD,IAAImC,EAAetC,EAAgBxtC,EADnC8V,EAAQs5B,IAAa,GAEjBhsC,EAAM8rC,EAAQP,WAAW3uC,GAG7B,IACEivC,EAAcc,UAAUD,EAAc,GAAI1sC,GAC1C,MAAO4Z,GAGP1qC,EAAO0tB,SAAShX,OAAOoa,EACxB,CAEG4rC,GAAY1lC,GACdA,EAAS,CAAEyP,OAAAA,EAAQ/Y,SAAUkvC,EAAQlvC,SAAUuuB,MAAO,GAEzD,EAmECvgD,QAjEF,SAAiB2/D,EAAQh5B,GACvBoE,EAASuxB,EAAO0F,QAChB,IAAIhwC,EAAW0tC,EAAewB,EAAQlvC,SAAU2tC,EAAIh5B,GAChDi6B,GAAkBA,EAAiB5uC,EAAU2tC,GAGjD,IAAImC,EAAetC,EAAgBxtC,EADnC8V,EAAQs5B,KAEJhsC,EAAM8rC,EAAQP,WAAW3uC,GAC7BivC,EAAcS,aAAaI,EAAc,GAAI1sC,GAEzC4rC,GAAY1lC,GACdA,EAAS,CAAEyP,OAAAA,EAAQ/Y,SAAUkvC,EAAQlvC,SAAUuuB,MAAO,GAEzD,EAqDC0hB,GAAE,SAAChgE,GACD,OAAOg/D,EAAcgB,GAAGhgE,EACzB,GAGH,OAAOi/D,CACR,C0BjZK,SAAUgB,EAGdC,EACAC,EACAC,QAAc,IAAdA,IAAAA,EAAW,KAEX,IAGIxC,EAAWyC,GAFU,kBAAhBF,EAA2BrC,EAAUqC,GAAeA,GAEvBvC,UAAY,IAAKwC,GAEvD,GAAgB,MAAZxC,EACF,OAAO,KAGT,IAAI0C,EAAWC,EAAcL,IA4K/B,SAA2BI,GACzBA,EAASE,MAAK,SAAC1sD,EAAGjB,GAAJ,OACZiB,EAAE2sD,QAAU5tD,EAAE4tD,MACV5tD,EAAE4tD,MAAQ3sD,EAAE2sD,MAyCpB,SAAwB3sD,EAAajB,GACnC,IAAI6tD,EACF5sD,EAAEhV,SAAW+T,EAAE/T,QAAUgV,EAAEwD,MAAM,GAAI,GAAGqpD,OAAM,SAAC3gE,EAAG0N,GAAJ,OAAU1N,IAAM6S,EAAEnF,EAAvC,IAE3B,OAAOgzD,EAKH5sD,EAAEA,EAAEhV,OAAS,GAAK+T,EAAEA,EAAE/T,OAAS,GAG/B,CACL,CArDO8hE,CACE9sD,EAAE+sD,WAAWpc,KAAK,SAAA7jC,GAAD,OAAUA,EAAKkgD,aAAhC,IACAjuD,EAAEguD,WAAWpc,KAAK,SAAA7jC,GAAD,OAAUA,EAAKkgD,aAAhC,IALR,GAQD,CApLCC,CAAkBT,GAGlB,IADA,IAAI30D,EAAU,KACL+B,EAAI,EAAc,MAAX/B,GAAmB+B,EAAI4yD,EAASxhE,SAAU4O,EACxD/B,EAAUq1D,EACRV,EAAS5yD,GAOTuzD,EAAgBrD,IAIpB,OAAOjyD,CACR,CAmBD,SAAS40D,EAGPL,EACAI,EACAY,EACAC,QAAe,IAFfb,IAAAA,EAA2C,SAE5B,IADfY,IAAAA,EAA4C,SAC7B,IAAfC,IAAAA,EAAa,IAEb,IAAIC,EAAe,SACjBC,EACAx7B,EACAy7B,GAEA,IAAI1gD,EAAmC,CACrC0gD,kBACmBh+D,IAAjBg+D,EAA6BD,EAAMjD,MAAQ,GAAKkD,EAClDC,eAAuC,IAAxBF,EAAME,cACrBT,cAAej7B,EACfw7B,MAAAA,GAGEzgD,EAAK0gD,aAAaE,WAAW,OAC/BlE,EACE18C,EAAK0gD,aAAaE,WAAWL,GAC7B,wBAAwBvgD,EAAK0gD,aAA7B,wBACMH,EADN,4GAKFvgD,EAAK0gD,aAAe1gD,EAAK0gD,aAAahqD,MAAM6pD,EAAWriE,SAGzD,IAAIs/D,EAAOqD,EAAU,CAACN,EAAYvgD,EAAK0gD,eACnCT,EAAaK,EAAY56D,OAAOsa,GAKhCygD,EAAMtlD,UAAYslD,EAAMtlD,SAASjd,OAAS,IAC5Cw+D,GAGkB,IAAhB+D,EAAMx7B,MACN,4FACuCu4B,EADvC,MAIFmC,EAAcc,EAAMtlD,SAAUukD,EAAUO,EAAYzC,KAKpC,MAAdiD,EAAMjD,MAAiBiD,EAAMx7B,QAIjCy6B,EAAShjE,KAAK,CACZ8gE,KAAAA,EACAqC,MAAOiB,EAAatD,EAAMiD,EAAMx7B,OAChCg7B,WAAAA,KAcJ,OAXAX,EAAOhjE,SAAQ,SAACmkE,EAAOx7B,GAAS,IAAA87B,EAE9B,GAAmB,KAAfN,EAAMjD,MAAe,OAACuD,EAAAN,EAAMjD,OAANuD,EAAYroD,SAAS,KAExC,KACL3Z,EADKE,ECnbI,SAAoCw9C,EAAGukB,GACpD,IAAIC,EAAuB,qBAAX/uD,QAA0BuqC,EAAEvqC,OAAO8F,WAAaykC,EAAE,cAClE,IAAKwkB,EAAI,CACP,GAAI7kE,MAAMue,QAAQ8hC,KAAOwkB,EAAK,EAA2BxkB,KAAOukB,GAAkBvkB,GAAyB,kBAAbA,EAAEv+C,OAAqB,CAC/G+iE,IAAIxkB,EAAIwkB,GACZ,IAAIn0D,EAAI,EACJwsB,EAAI,WAAc,EACtB,MAAO,CACLn6B,EAAGm6B,EACHl6B,EAAG,WACD,OAAI0N,GAAK2vC,EAAEv+C,OAAe,CACxBmB,MAAM,GAED,CACLA,MAAM,EACNG,MAAOi9C,EAAE3vC,KAEb,EACAnN,EAAG,SAAWumD,GACZ,MAAMA,CACR,EACAtmD,EAAG05B,EAEP,CACA,MAAM,IAAIz7B,UAAU,wIACtB,CACA,IAEE6B,EAFEwhE,GAAmB,EACrBC,GAAS,EAEX,MAAO,CACLhiE,EAAG,WACD8hE,EAAKA,EAAGx1D,KAAKgxC,EACf,EACAr9C,EAAG,WACD,IAAIgiE,EAAOH,EAAGhgC,OAEd,OADAigC,EAAmBE,EAAK/hE,KACjB+hE,CACT,EACAzhE,EAAG,SAAW0hE,GACZF,GAAS,EACTzhE,EAAM2hE,CACR,EACAzhE,EAAG,WACD,IACOshE,GAAoC,MAAhBD,EAAW,QAAWA,EAAW,QAC5D,CAAE,QACA,GAAIE,EAAQ,MAAMzhE,CACpB,CACF,EAEJ,CDiYWR,CACgBoiE,EAAwBb,EAAMjD,OAAnD,QAAAv+D,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MAA0D,KAAjDkiE,EAATxiE,EAAAS,MACEghE,EAAaC,EAAOx7B,EAAOs8B,EAC5B,QAAA7hE,GAAAT,EAAAU,EAAAD,EAAA,SAAAT,EAAAW,GAAA,CACF,MALC4gE,EAAaC,EAAOx7B,MAQjBy6B,CACR,CAgBD,SAAS4B,EAAwB9D,GAC/B,IAAIgE,EAAWhE,EAAKnnD,MAAM,KAC1B,GAAwB,IAApBmrD,EAAStjE,OAAc,MAAO,GAElC,IE5c+By7D,EF4c/B8H,EE3cO,EADwB9H,EF4cR6H,IE3cO,EAAgB7H,IAAQ,EAA2BA,IAAQ,IF2cpF5b,EAAD0jB,EAAC,GAAUC,EAAXD,EAAA/qD,MAAA,GAGAirD,EAAa5jB,EAAM6jB,SAAS,KAE5BC,EAAW9jB,EAAM5gD,QAAQ,MAAO,IAEpC,GAAoB,IAAhBukE,EAAKxjE,OAGP,OAAOyjE,EAAa,CAACE,EAAU,IAAM,CAACA,GAGxC,IAAIC,EAAeR,EAAwBI,EAAK58B,KAAK,MAEjDi3B,EAAmB,GAqBvB,OAZAA,EAAOr/D,KAAPjB,MAAAsgE,EAAM9/D,EACD6lE,EAAaje,KAAK,SAAAke,GAAD,MACN,KAAZA,EAAiBF,EAAW,CAACA,EAAUE,GAASj9B,KAAK,IADpD,MAMD68B,GACF5F,EAAOr/D,KAAPjB,MAAAsgE,EAAM9/D,EAAS6lE,IAIV/F,EAAOlY,KAAK,SAAA0d,GAAD,OAChB/D,EAAKoD,WAAW,MAAqB,KAAbW,EAAkB,IAAMA,CAD3C,GAGR,EA7eD,SAAY/E,GACVA,EAAA,YACAA,EAAA,oBACAA,EAAA,oBACAA,EAAA,aAJF,EAAYA,IAAAA,EAKX,KAqfD,IAAMwF,EAAU,SACVC,EAAsB,EACtBC,EAAkB,EAClBC,EAAoB,EACpBC,EAAqB,GACrBC,GAAgB,EAChBC,EAAW,SAAAnjE,GAAD,MAAqB,MAANA,CAA/B,EAEA,SAAS2hE,EAAatD,EAAcv4B,GAClC,IAAIu8B,EAAWhE,EAAKnnD,MAAM,KACtBksD,EAAef,EAAStjE,OAS5B,OARIsjE,EAASlhB,KAAKgiB,KAChBC,GAAgBF,GAGdp9B,IACFs9B,GAAgBL,GAGXV,EACJjgB,QAAQ,SAAApiD,GAAD,OAAQmjE,EAAQnjE,EADnB,IAEJgjD,QACC,SAAC0d,EAAO2C,GAAR,OACE3C,GACCmC,EAAQtkE,KAAK8kE,GACVP,EACY,KAAZO,EACAL,EACAC,EATH,GAUHG,EAEL,CAiBD,SAASnC,EAIPqC,EACAzF,GAOA,IALA,IAAMiD,EAAewC,EAAfxC,WAEFyC,EAAgB,CAAC,EACjBC,EAAkB,IAClB53D,EAA2D,GACtD+B,EAAI,EAAGA,EAAImzD,EAAW/hE,SAAU4O,EAAG,CAC1C,IAAIkT,EAAOigD,EAAWnzD,GAClBuoB,EAAMvoB,IAAMmzD,EAAW/hE,OAAS,EAChC0kE,EACkB,MAApBD,EACI3F,EACAA,EAAStmD,MAAMisD,EAAgBzkE,SAAW,IAC5CjB,EAAQ4lE,EACV,CAAErF,KAAMx9C,EAAK0gD,aAAcC,cAAe3gD,EAAK2gD,cAAetrC,IAAAA,GAC9DutC,GAGF,IAAK3lE,EAAO,OAAO,KAEnBlC,OAAOod,OAAOuqD,EAAezlE,EAAM6lE,QAEnC,IAAIrC,EAAQzgD,EAAKygD,MAEjB11D,EAAQrO,KAAK,CAEXomE,OAAQJ,EACR1F,SAAU6D,EAAU,CAAC8B,EAAiB1lE,EAAM+/D,WAC5C+F,aAAcC,GACZnC,EAAU,CAAC8B,EAAiB1lE,EAAM8lE,gBAEpCtC,MAAAA,IAGyB,MAAvBxjE,EAAM8lE,eACRJ,EAAkB9B,EAAU,CAAC8B,EAAiB1lE,EAAM8lE,eAEvD,CAED,OAAOh4D,CACR,CA2He,SAAA83D,EAIdI,EACAjG,GAEuB,kBAAZiG,IACTA,EAAU,CAAEzF,KAAMyF,EAAStC,eAAe,EAAOtrC,KAAK,IAGxD,IAAA6tC,EAwCF,SACE1F,EACAmD,EACAtrC,QAAU,IADVsrC,IAAAA,GAAgB,QACN,IAAVtrC,IAAAA,GAAM,GAEN8tC,EACW,MAAT3F,IAAiBA,EAAKoE,SAAS,MAAQpE,EAAKoE,SAAS,MACrD,eAAepE,EAAf,oCACMA,EAAKrgE,QAAQ,MAAO,MAD1B,qIAGsCqgE,EAAKrgE,QAAQ,MAAO,MAH1D,MAMF,IAAIimE,EAAuB,GACvBC,EACF,IACA7F,EACGrgE,QAAQ,UAAW,IACnBA,QAAQ,OAAQ,KAChBA,QAAQ,sBAAuB,QAC/BA,QAAQ,aAAa,SAACqF,EAAW8gE,GAEhC,OADAF,EAAW1mE,KAAK4mE,GACT,YACR,IAED9F,EAAKoE,SAAS,MAChBwB,EAAW1mE,KAAK,KAChB2mE,GACW,MAAT7F,GAAyB,OAATA,EACZ,QACA,qBACGnoC,EAETguC,GAAgB,QACE,KAAT7F,GAAwB,MAATA,IAQxB6F,GAAgB,iBAKlB,IAAIE,EAAU,IAAI9lE,OAAO4lE,EAAc1C,OAAgBj+D,EAAY,KAEnE,MAAO,CAAC6gE,EAASH,EAClB,CA1F6BI,CAC1BP,EAAQzF,KACRyF,EAAQtC,cACRsC,EAAQ5tC,KAHVouC,EAAAlkE,EAAA2jE,EAAA,GAAKK,EAADE,EAAC,GAASL,EAAVK,EAAC,GAMDxmE,EAAQ+/D,EAAS//D,MAAMsmE,GAC3B,IAAKtmE,EAAO,OAAO,KAEnB,IAAI0lE,EAAkB1lE,EAAM,GACxB8lE,EAAeJ,EAAgBxlE,QAAQ,UAAW,MAClDumE,EAAgBzmE,EAAMyZ,MAAM,GAC5BosD,EAAiBM,EAAWjhB,QAC9B,SAAC4B,EAAMuf,EAAWr+B,GAGhB,GAAkB,MAAdq+B,EAAmB,CACrB,IAAIK,EAAaD,EAAcz+B,IAAU,GACzC89B,EAAeJ,EACZjsD,MAAM,EAAGisD,EAAgBzkE,OAASylE,EAAWzlE,QAC7Cf,QAAQ,UAAW,KACvB,CAMD,OAJA4mD,EAAKuf,GAoFX,SAAkC9jE,EAAe8jE,GAC/C,IACE,OAAOM,mBAAmBpkE,GAC1B,MAAO2sC,GAQP,OAPAg3B,GACE,EACA,gCAAgCG,EAAhC,6CACkB9jE,EADlB,iFAEqC2sC,EAFrC,MAKK3sC,CACR,CACF,CAjGuBqkE,CAChBH,EAAcz+B,IAAU,GACxBq+B,GAEKvf,IAET,CAAC,GAGH,MAAO,CACL+e,OAAAA,EACA9F,SAAU2F,EACVI,aAAAA,EACAE,QAAAA,EAEH,CAsDD,SAAS5C,EAAgB7gE,GACvB,IACE,OAAOskE,UAAUtkE,GACjB,MAAO2sC,GAQP,OAPAg3B,GACE,EACA,iBAAiB3jE,EAAjB,oHAEe2sC,EAFf,MAKK3sC,CACR,CACF,CAoBe,SAAAigE,EACdzC,EACAwC,GAEA,GAAiB,MAAbA,EAAkB,OAAOxC,EAE7B,IAAKA,EAASngE,cAAc+jE,WAAWpB,EAAS3iE,eAC9C,OAAO,KAKT,IAAI0pD,EAAaiZ,EAASoC,SAAS,KAC/BpC,EAASthE,OAAS,EAClBshE,EAASthE,OACT6lE,EAAW/G,EAAS99C,OAAOqnC,GAC/B,OAAIwd,GAAyB,MAAbA,EAEP,KAGF/G,EAAStmD,MAAM6vC,IAAe,GACtC,CAKe,SAAA4c,EAAQa,EAAWj4B,GACjC,IAAKi4B,EAAM,CAEc,qBAAZ9jE,SAAyBA,QAAQC,KAAK4rC,GAEjD,IAME,MAAM,IAAI1zB,MAAM0zB,EAEjB,CAAC,MAAOpsC,GAAI,CACd,CACF,CA2CD,SAASskE,EACPhqC,EACAiqC,EACAC,EACA3G,GAEA,MACE,qBAAqBvjC,EAArB,2CACQiqC,EAAkB,YAAA3qB,KAAKC,UAC7BgkB,GAFF,yCAIQ2G,EAJR,2HAOH,CAyBK,SAAUC,EAEdr5D,GACA,OAAOA,EAAQw2C,QACb,SAACtkD,EAAOgoC,GAAR,OACY,IAAVA,GAAgBhoC,EAAMwjE,MAAMjD,MAAQvgE,EAAMwjE,MAAMjD,KAAKt/D,OAAS,CAF3D,GAIR,CAKK,SAAUmmE,EACdC,EACAC,EACAC,EACAC,GAEA,IAAI3H,OAFkB,IAAtB2H,IAAAA,GAAiB,GAGI,kBAAVH,EACTxH,EAAKI,EAAUoH,IAIf5H,IAFAI,EAAEC,EAAA,GAAQuH,IAGJtH,WAAaF,EAAGE,SAAStkD,SAAS,KACtCurD,EAAoB,IAAK,WAAY,SAAUnH,IAEjDJ,GACGI,EAAGE,WAAaF,EAAGE,SAAStkD,SAAS,KACtCurD,EAAoB,IAAK,WAAY,OAAQnH,IAE/CJ,GACGI,EAAG1qC,SAAW0qC,EAAG1qC,OAAO1Z,SAAS,KAClCurD,EAAoB,IAAK,SAAU,OAAQnH,KAI/C,IAGItyD,EAHAk6D,EAAwB,KAAVJ,GAAgC,KAAhBxH,EAAGE,SACjC2H,EAAaD,EAAc,IAAM5H,EAAGE,SAaxC,GAAIyH,GAAgC,MAAdE,EACpBn6D,EAAOg6D,MACF,CACL,IAAII,EAAqBL,EAAermE,OAAS,EAEjD,GAAIymE,EAAW/D,WAAW,MAAO,CAM/B,IALA,IAAIiE,EAAaF,EAAWtuD,MAAM,KAKT,OAAlBwuD,EAAW,IAChBA,EAAWv8C,QACXs8C,GAAsB,EAGxB9H,EAAGE,SAAW6H,EAAW//B,KAAK,IAC/B,CAIDt6B,EAAOo6D,GAAsB,EAAIL,EAAeK,GAAsB,GACvE,CAED,IAAIpH,WAvJsBV,EAAQgI,QAAkB,IAAlBA,IAAAA,EAAe,KACjD,IAAAC,EAIkB,kBAAPjI,EAAkBI,EAAUJ,GAAMA,EAHjC6H,EADRI,EACF/H,SAAQgI,EAAAD,EACR3yC,OAAAA,OAAM,IAAA4yC,EAAG,GAFPA,EAAAC,EAAAF,EAGF9H,KAAAA,OAAI,IAAAgI,EAAG,GAAAA,EAGLjI,EAAW2H,EACXA,EAAW/D,WAAW,KACpB+D,EAWR,SAAyBjE,EAAsBoE,GAC7C,IAAItD,EAAWsD,EAAa3nE,QAAQ,OAAQ,IAAIkZ,MAAM,KAYtD,OAXuBqqD,EAAarqD,MAAM,KAEzB/Z,SAAS,SAAAkmE,GACR,OAAZA,EAEEhB,EAAStjE,OAAS,GAAGsjE,EAAShlE,MACb,MAAZgmE,GACThB,EAAS9kE,KAAK8lE,MAIXhB,EAAStjE,OAAS,EAAIsjE,EAAS18B,KAAK,KAAO,GACnD,CAxBOogC,CAAgBP,EAAYG,GAC9BA,EAEJ,MAAO,CACL9H,SAAAA,EACA5qC,OAAQ+yC,GAAgB/yC,GACxB6qC,KAAMmI,GAAcnI,GAEvB,CAqIYoI,CAAYvI,EAAItyD,GAGvB86D,EACFX,GAA6B,MAAfA,GAAsBA,EAAW/C,SAAS,KAEtD2D,GACDb,GAA8B,MAAfC,IAAuBH,EAAiB5C,SAAS,KAQnE,OANGpE,EAAKR,SAAS4E,SAAS,OACvB0D,IAA4BC,IAE7B/H,EAAKR,UAAY,KAGZQ,CACR,KAiBYqD,EAAa,SAAA2E,GAAD,OACvBA,EAAM1gC,KAAK,KAAK3nC,QAAQ,SAAU,IAAlC,EAKW6lE,GAAqB,SAAAhG,GAAD,OAC/BA,EAAS7/D,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,IAA7C,EAKWgoE,GAAmB,SAAA/yC,GAAD,OAC5BA,GAAqB,MAAXA,EAEPA,EAAOwuC,WAAW,KAClBxuC,EACA,IAAMA,EAHN,EAFC,EAUMgzC,GAAiB,SAAAnI,GAAD,OAC1BA,GAAiB,MAATA,EAAoBA,EAAK2D,WAAW,KAAO3D,EAAO,IAAMA,EAAzC,EADnB,EAgCMwI,GAAP,SAAAC,GAAApK,EAAAmK,EAAAC,GAAA,IAAAC,EAAA/J,EAAA6J,GAAA,SAAAA,IAAA,OAAAG,EAAA,KAAAH,GAAAE,EAAAlqE,MAAA,KAAAwC,UAAA,QAAA4nE,EAAAJ,EAAA,EAAArJ,EAAoC/jD,QAwPpC,SAAUytD,GAAqB35B,GACnC,OACW,MAATA,GACwB,kBAAjBA,EAAM45B,QACe,kBAArB55B,EAAM65B,YACa,mBAAnB75B,EAAM85B,UACb,SAAU95B,CAEb,CGvzBD,IAAM+5B,GAAgD,CACpD,OACA,MACA,QACA,UAMIC,IAJuB,IAAIjxD,IAC/BgxD,IAG0B,CAC1B,OAD2CxgE,OAExCwgE,KAEuB,IAAIhxD,IAAgBixD,IAEpB,IAAIjxD,IAAI,CAAC,IAAK,IAAK,IAAK,IAAK,MACf,IAAIA,IAAI,CAAC,IAAK,MA8BpC,qBAAXzT,QACoB,qBAApBA,OAAOG,UACPH,OAAOG,SAASsC,cA4qDagO,OAAO,mPCvxE7C,IAAMqO,GACiB,oBAAdxlB,OAAOwlB,GAAoBxlB,OAAOwlB,GAP3C,SAAoBzkB,EAAQkX,GAC1B,OACGlX,IAAMkX,IAAY,IAANlX,GAAW,EAAIA,IAAM,EAAIkX,IAAQlX,IAAMA,GAAKkX,IAAMA,CAElE,EAOOq4B,GAAwD+6B,EAAAA,SAA9Ct7B,GAA8Cs7B,EAAAA,UAAnCn7B,GAAmCm7B,EAAAA,gBAAlB96B,GAAkB86B,EAAAA,cAsHhE,SAASC,GAAuBC,GAC9B,IAAMC,EAAoBD,EAAK19B,YACzB49B,EAAYF,EAAK9mE,MACvB,IACE,IAAMinE,EAAYF,IAClB,OAAQhmD,GAAGimD,EAAWC,GACtB,MAAOt6B,GACP,OAAO,CACR,CACF,CClImB,qBAAX1qC,QACoB,qBAApBA,OAAOG,UACPH,OAAOG,SAASsC,cAOuBkiE,EAAtB16B,qBAV1B,IC6Cag7B,GACXN,EAAAA,cAAoD,MAK/C,IAAMO,GAAyBP,EAAAA,cAEpC,MAKK,IAAMQ,GAAeR,EAAAA,cAA2C,MAsChE,IAAMS,GAAoBT,EAAAA,cAC/B,MAYK,IAAMU,GAAkBV,EAAAA,cAC7B,UAYWW,GAAeX,EAAAA,cAAwC,CAClEY,OAAQ,KACRj8D,QAAS,KAOJ,IAAMk8D,GAAoBb,EAAAA,cAAyB,MCpEnD,SAASc,KACd,OAA4C,MAArCd,EAAAA,WAAiBU,GACzB,CAYM,SAASK,KAQd,OANED,MADFE,GAAA,GAOOhB,EAAAA,WAAiBU,IAAiB33C,QAC1C,CAmDM,SAASk4C,KAEZH,MADFE,GAAA,GAOA,IAAAE,EAA8BlB,EAAAA,WAAiBS,IAAzCrH,EAAF8H,EAAE9H,SAAUxI,EAAAsQ,EAAAtQ,UACVjsD,EAAYq7D,EAAAA,WAAiBW,IAA7Bh8D,QACUy5D,EAAqB2C,KAA/BnK,SAEFuK,EAAqBhuB,KAAKC,UAC5BguB,EAA2Bz8D,GAAS84C,KAAK,SAAA5mD,GAAD,OAAWA,EAAM8lE,YAAzD,KAGE0E,EAAYrB,EAAAA,QAAa,GAC7BA,EAAAA,WAAgB,WACdqB,EAAUvkD,SAAU,KAGtB,IAAIwkD,EAA6BtB,EAAAA,aAC/B,SAACtJ,EAAiBjiD,GAOhB,QAPkD,IAAlCA,IAAAA,EAA2B,CAAC,GAOvC4sD,EAAUvkD,QAEf,GAAkB,kBAAP45C,EAAX,CAKA,IAAIU,EAAO6G,EACTvH,EACAvjB,KAAKouB,MAAMJ,GACX/C,EACqB,SAArB3pD,EAAQ+sD,UAOO,MAAbpI,IACFhC,EAAKR,SACe,MAAlBQ,EAAKR,SACDwC,EACAqB,EAAU,CAACrB,EAAUhC,EAAKR,aAG/BniD,EAAQ1d,QAAU65D,EAAU75D,QAAU65D,EAAUt6D,MACjD8gE,EACA3iD,EAAQipB,MACRjpB,EAvBD,MAFCm8C,EAAUoI,GAAGtC,KA4BjB,CAAC0C,EAAUxI,EAAWuQ,EAAoB/C,IAG5C,OAAOkD,CACR,CAmCM,SAASG,KAKd,IAAM98D,EAAYq7D,EAAAA,WAAiBW,IAA7Bh8D,QACF+8D,EAAa/8D,EAAQA,EAAQ7M,OAAS,GAC1C,OAAO4pE,EAAcA,EAAWhF,OAAiB,CAAC,CACnD,CAOM,SAASiF,GACdjL,EAEMkL,GAAA,IADJJ,QACI,IAAAI,EAD6C,CAAC,EAC9CA,GADJJ,SAEI78D,EAAYq7D,EAAAA,WAAiBW,IAA7Bh8D,QACUy5D,EAAqB2C,KAA/BnK,SAEFuK,EAAqBhuB,KAAKC,UAC5BguB,EAA2Bz8D,GAAS84C,KAAK,SAAA5mD,GAAD,OAAWA,EAAM8lE,YAAzD,KAGF,OAAOqD,EAAAA,SACL,kBACE/B,EACEvH,EACAvjB,KAAKouB,MAAMJ,GACX/C,EACa,SAAboD,EANC,GAQL,CAAC9K,EAAIyK,EAAoB/C,EAAkBoD,GAE9C,CAkKD,SAASK,KACP,IAAI97B,EA2VC,WAAkC,IAAA+7B,EACnC/7B,EAAQi6B,EAAAA,WAAiBa,IACzBnjC,EAAQqkC,GAAmBC,GAAoBC,eAC/CC,EAAUC,GAAkBH,GAAoBC,eAIpD,GAAIl8B,EACF,OAAOA,EAIT,OAAO,OAAP+7B,EAAOpkC,EAAM0kC,aAAN,EAAAN,EAAeI,EACvB,CAxWaG,GACR18B,EAAU+5B,GAAqB35B,GAC5BA,EAAM45B,OAAU,IAAA55B,EAAM65B,WACzB75B,aAAiB9zB,MACjB8zB,EAAMJ,QACNwN,KAAKC,UAAUrN,GACf7zB,EAAQ6zB,aAAiB9zB,MAAQ8zB,EAAM7zB,MAAQ,KAC/CowD,EAAY,yBACZC,EAAY,CAAEC,QAAS,SAAUC,gBAAiBH,GAkBtD,OACEtC,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAA,2CACAA,EAAAA,cAAA,MAAIpnD,MAAO,CAAE8pD,UAAW,WAAa/8B,GACpCzzB,EAAQ8tD,EAAAA,cAAA,OAAKpnD,MAAO2pD,GAAYrwD,GAAe,KAnBtC,KAuBf,KA8KIywD,GAKAX,GArKQY,GAAN,SAAAC,GAAA3N,EAAA0N,EAAAC,GAAA,IAAAtD,EAAA/J,EAAAoN,GAIL,SAAAA,EAAY5kC,GAAiC,IAAA8kC,EAE3C,OAF2CtD,EAAA,KAAAoD,IAC3CE,EAAAvD,EAAAl6D,KAAA,KAAM24B,IACDN,MAAQ,CACX3U,SAAUiV,EAAMjV,SAChBgd,MAAO/H,EAAM+H,OAFf+8B,CAID,CAiCA,OAjCArD,EAAAmD,EAAA,EAAAj3D,IAAA,oBAAAvS,MAmCD,SAAkB2sC,EAAYg9B,GAC5BjpE,QAAQisC,MACN,wDACAA,EACAg9B,EAEH,IAAAp3D,IAAA,SAAAvS,MAED,WACE,OAAOqW,KAAKiuB,MAAMqI,MAChBi6B,EAAAA,cAACW,GAAa9Q,SAAd,CAAuBz2D,MAAOqW,KAAKuuB,MAAMglC,cACvChD,EAAAA,cAACa,GAAkBhR,SAAnB,CACEz2D,MAAOqW,KAAKiuB,MAAMqI,MAClBhxB,SAAUtF,KAAKuuB,MAAMxzB,aAIzBiF,KAAKuuB,MAAMjpB,QAEd,MAAApJ,IAAA,2BAAAvS,MApD8B,SAAC2sC,GAC9B,MAAO,CAAEA,MAAOA,EACjB,IAAAp6B,IAAA,2BAAAvS,MAE8B,SAC7B4kC,EACAN,GAUA,OAAIA,EAAM3U,WAAaiV,EAAMjV,SACpB,CACLgd,MAAO/H,EAAM+H,MACbhd,SAAUiV,EAAMjV,UAQb,CACLgd,MAAO/H,EAAM+H,OAASrI,EAAMqI,MAC5Bhd,SAAU2U,EAAM3U,SAEnB,KAAA65C,CAAA,CA3CI,CAAkC5C,EAAAA,WAyEzC,SAASiD,GAAqE9tE,GAAA,IAArD6tE,EAAqD7tE,EAArD6tE,aAAcnsE,EAAuC1B,EAAvC0B,MAAOke,EAAgC5f,EAAhC4f,SACxCmuD,EAAoBlD,EAAAA,WAAiBM,IAazC,OARE4C,GACAA,EAAkBC,QAClBD,EAAkBE,eAClBvsE,EAAMwjE,MAAMgJ,eAEZH,EAAkBE,cAAcE,2BAA6BzsE,EAAMwjE,MAAMt3C,IAIzEi9C,EAAAA,cAACW,GAAa9Q,SAAd,CAAuBz2D,MAAO4pE,GAC3BjuD,EAGN,CAEM,SAASwuD,GACd5+D,EACA6+D,EACAC,GAEA,QAD2B,IAF3BD,IAAAA,EAA8B,IAGf,MAAX7+D,EAAiB,CACnB,SAAI8+D,IAAAA,EAAiBrB,OAKnB,OAAO,KAFPz9D,EAAU8+D,EAAgB9+D,OAI7B,CAED,IAAI++D,EAAkB/+D,EAGlBy9D,EAAS,MAAAqB,OAAA,EAAAA,EAAiBrB,OAC9B,GAAc,MAAVA,EAAgB,CAClB,IAAIuB,EAAaD,EAAgBE,WAC9B,SAAAv3D,GAAD,OAAOA,EAAEguD,MAAMt3C,KAAM,MAAAq/C,OAAA,EAAAA,EAAS/1D,EAAEguD,MAAMt3C,IADvB,IAIf4gD,GAAc,GADhB3C,GAAA,GAIA0C,EAAkBA,EAAgBpzD,MAChC,EACAoO,KAAK0Q,IAAIs0C,EAAgB5rE,OAAQ6rE,EAAa,GAEjD,CAED,OAAOD,EAAgBG,aAAY,SAACjD,EAAQ/pE,EAAOgoC,GACjD,IAAIkH,EAAQlvC,EAAMwjE,MAAMt3C,GAAZ,MAAiBq/C,OAAjB,EAAiBA,EAASvrE,EAAMwjE,MAAMt3C,IAAM,KAEpDsgD,EAAeI,EACf5sE,EAAMwjE,MAAMgJ,cAAgBrD,EAAAA,cAAC6B,GAAD,MAC5B,KACAl9D,EAAU6+D,EAAclkE,OAAOokE,EAAgBpzD,MAAM,EAAGuuB,EAAQ,IAChEilC,EAAc,WAAH,OACb9D,EAAAA,cAACiD,GAAD,CAAepsE,MAAOA,EAAOmsE,aAAc,CAAEpC,OAAAA,EAAQj8D,QAAAA,IAClDohC,EACGs9B,OACwB/mE,IAAxBzF,EAAMwjE,MAAM9hE,QACZ1B,EAAMwjE,MAAM9hE,QACZqoE,EANR,EAYA,OAAO6C,IAAoB5sE,EAAMwjE,MAAMgJ,cAA0B,IAAVxkC,GACrDmhC,EAAAA,cAAC4C,GAAD,CACE75C,SAAU06C,EAAgB16C,SAC1Bve,UAAW64D,EACXt9B,MAAOA,EACPhxB,SAAU+uD,IACVd,aAAc,CAAEpC,OAAQ,KAAMj8D,QAAAA,KAGhCm/D,MAED,KACJ,CA6BD,SAAS/B,GAAmBgC,GAC1B,IAAIrmC,EAAQsiC,EAAAA,WAAiBO,IAE7B,OADU7iC,GAAVsjC,GAAA,GACOtjC,CACR,CAQD,SAASykC,GAAkB4B,GACzB,IAAI1J,EAPN,SAAyB0J,GACvB,IAAI1J,EAAQ2F,EAAAA,WAAiBW,IAE7B,OADUtG,GAAV2G,GAAA,GACO3G,CACR,CAGa2J,GACRC,EAAY5J,EAAM11D,QAAQ01D,EAAM11D,QAAQ7M,OAAS,GAKrD,OAHEmsE,EAAU5J,MAAMt3C,IADlBi+C,GAAA,GAIOiD,EAAU5J,MAAMt3C,EACxB,WA/CI4/C,GAAAA,EAAA,wBAAAA,EAAA,iCAAAA,KAAAA,GAAA,cAKAX,GAAAA,EAAA,8BAAAA,EAAA,8BAAAA,EAAA,8BAAAA,EAAA,8BAAAA,EAAA,wCAAAA,EAAA,wBAAAA,EAAA,iCAAAA,KAAAA,GAAA,KAqML,ICvbKkC,GAlPE,SAASC,GAKQxF,GAAA,IAJtBjI,EAIsBiI,EAJtBjI,GACA3/D,EAGsB4nE,EAHtB5nE,QACA2mC,EAEsBihC,EAFtBjhC,MACA8jC,EACsB7C,EADtB6C,SAGEV,MADFE,GAAA,GAcA,IAAIyC,EAAkBzD,EAAAA,WAAiBO,IACnCe,EAAWL,KAYf,OAVAjB,EAAAA,WAAgB,WAIVyD,GAAwD,SAArCA,EAAgBW,WAAW1mC,OAGlD4jC,EAAS5K,EAAI,CAAE3/D,QAAAA,EAAS2mC,MAAAA,EAAO8jC,SAAAA,OAG1B,IACR,CAsDM,SAAS6C,GAAMC,GACpBtD,GAAA,EAKD,CAoBM,SAASuD,GAO2BC,GAAA,IAAAC,EAAAD,EANzCpL,SAAUsL,OAAY,IAAAD,EAAG,IADJA,EAAAE,EAOoBH,EALzCzvD,SAAAA,OAAQ,IAAA4vD,EAAG,KAFUA,EAGXC,EAI+BJ,EAJzCz7C,SAAQ87C,EAIiCL,EAHzCM,eAAAA,OAAc,IAAAD,EAAGxR,EAAAA,IAJIwR,EAKrBjU,EAEyC4T,EAFzC5T,UALqBmU,EAOoBP,EADzCrB,OAAQ6B,OAAU,IAAAD,GAAGA,EAGlBjE,MADHE,GAAA,GAQA,IAAI5H,EAAWsL,EAAa3tE,QAAQ,OAAQ,KACxCkuE,EAAoBjF,EAAAA,SACtB,iBAAO,CAAE5G,SAAAA,EAAUxI,UAAAA,EAAWuS,OAAQ6B,EAAtC,GACA,CAAC5L,EAAUxI,EAAWoU,IAGI,kBAAjBJ,IACTA,EAAe9N,EAAU8N,IAG3B,IAAAM,EAMIN,EANJO,EAAAD,EACEtO,SAAAA,OAAQ,IAAAuO,EAAG,IADTA,EAAAC,EAAAF,EAEFl5C,OAAAA,OAAM,IAAAo5C,EAAG,GAFPA,EAAAC,EAAAH,EAGFrO,KAAAA,OAAI,IAAAwO,EAAG,GAHLA,EAAAC,EAAAJ,EAIFxnC,MAAAA,OAAK,IAAA4nC,EAAG,KAJNA,EAAAC,EAAAL,EAKFv5D,IAAAA,OAAG,IAAA45D,EAAG,UAAAA,EAGJx8C,EAAWi3C,EAAAA,SAAc,WAC3B,IAAIwF,EAAmBnM,EAAczC,EAAUwC,GAE/C,OAAwB,MAApBoM,EACK,KAGF,CACL5O,SAAU4O,EACVx5C,OAAAA,EACA6qC,KAAAA,EACAn5B,MAAAA,EACA/xB,IAAAA,EAEH,GAAE,CAACytD,EAAUxC,EAAU5qC,EAAQ6qC,EAAMn5B,EAAO/xB,IAS7C,OAAgB,MAAZod,EACK,KAIPi3C,EAAAA,cAACS,GAAkB5Q,SAAnB,CAA4Bz2D,MAAO6rE,GACjCjF,EAAAA,cAACU,GAAgB7Q,SAAjB,CACE96C,SAAUA,EACV3b,MAAO,CAAE2vB,SAAAA,EAAU+7C,eAAAA,KAI1B,CAaM,SAASW,GAG2BC,GAAA,IAFzC3wD,EAEyC2wD,EAFzC3wD,SACAgU,EACyC28C,EADzC38C,SAEIm6C,EAAoBlD,EAAAA,WAAiBM,IAQzC,OD1FK,SACLpH,EACAC,GAGE2H,MADFE,GAAA,GAOA,IA8CIj4C,EA9CE6nC,EAAcoP,EAAAA,WAAiBS,IAA/B7P,UACF+U,EAAyB3F,EAAAA,WAAiBO,IAC/BiD,EAAkBxD,EAAAA,WAAiBW,IAA5Ch8D,QACF+8D,EAAa8B,EAAcA,EAAc1rE,OAAS,GAClD8tE,EAAelE,EAAaA,EAAWhF,OAAS,CAAC,EAEjDmJ,GADiBnE,GAAaA,EAAW9K,SACpB8K,EAAaA,EAAW/E,aAAe,KAsC5DmJ,GArCcpE,GAAcA,EAAWrH,MAqCjB0G,MAG1B,GAAI5H,EAAa,KAAA4M,EACXC,EACqB,kBAAhB7M,EAA2BrC,EAAUqC,GAAeA,EAGpC,MAAvB0M,IACE,OAAAE,EAAAC,EAAkBpP,eAAlB,EAAAmP,EAA4BvL,WAAWqL,KAF3C7E,GAAA,GASAj4C,EAAWi9C,CACZ,MACCj9C,EAAW+8C,EAGb,IAAIlP,EAAW7tC,EAAS6tC,UAAY,IAMhCjyD,EAAUs0D,EAAYC,EAAQ,CAAEtC,SAJX,MAAvBiP,EACIjP,EACAA,EAAStmD,MAAMu1D,EAAmB/tE,SAAW,MAkB/C4rE,EAAkBH,GACpB5+D,GACEA,EAAQ84C,KAAK,SAAA5mD,GAAD,OACVlC,OAAOod,OAAO,CAAC,EAAGlb,EAAO,CACvB6lE,OAAQ/nE,OAAOod,OAAO,CAAC,EAAG6zD,EAAc/uE,EAAM6lE,QAC9C9F,SAAU6D,EAAU,CAClBoL,EAEAjV,EAAU+H,eACN/H,EAAU+H,eAAe9hE,EAAM+/D,UAAUA,SACzC//D,EAAM+/D,WAEZ+F,aACyB,MAAvB9lE,EAAM8lE,aACFkJ,EACApL,EAAU,CACRoL,EAEAjV,EAAU+H,eACN/H,EAAU+H,eAAe9hE,EAAM8lE,cAAc/F,SAC7C//D,EAAM8lE,gBAlBtB,IAsBF6G,EACAmC,QAA0BrpE,GAM5B,OAAI68D,GAAeuK,EAEf1D,EAAAA,cAACU,GAAgB7Q,SAAjB,CACEz2D,MAAO,CACL2vB,SAAQ4tC,GAAA,CACNC,SAAU,IACV5qC,OAAQ,GACR6qC,KAAM,GACNn5B,MAAO,KACP/xB,IAAK,WACFod,GAEL+7C,eAAgBzR,EAAAA,MAGjBqQ,GAKAA,CACR,CC5DQuC,CAHL/C,IAAsBnuD,EACjBmuD,EAAkBgD,OAAOhN,OAC1BiN,GAAyBpxD,GACNgU,EAC1B,WAiCIm7C,GAAAA,EAAAA,EAAA,qBAAAA,EAAAA,EAAA,qBAAAA,EAAAA,EAAA,kBAAAA,KAAAA,GAAA,KAML,IAAMkC,GAAsB,IAAItxC,SAAQ,WAAO,IAEdkrC,EAAAA,UAkH1B,SAASmG,GACdpxD,EACAolD,QACe,IADfA,IAAAA,EAAuB,IAEvB,IAAIjB,EAAwB,GAuD5B,OArDA8G,EAAAA,SAAAA,QAAuBjrD,GAAU,SAACxc,EAASsmC,GACzC,GAAKmhC,EAAAA,eAAqBznE,GAM1B,GAAIA,EAAQwR,OAASi2D,EAAAA,SAArB,CAUEznE,EAAQwR,OAASs6D,IADnBrD,GAAA,GAQGzoE,EAAQylC,MAAMa,OAAUtmC,EAAQylC,MAAMjpB,UADzCisD,GAAA,GAKA,IAAIqF,EAAW,GAAH/mE,OAAAzJ,EAAOskE,GAAJ,CAAgBt7B,IAC3Bw7B,EAAqB,CACvBt3C,GAAIxqB,EAAQylC,MAAMjb,IAAMsjD,EAAS3nC,KAAK,KACtC67B,cAAehiE,EAAQylC,MAAMu8B,cAC7BhiE,QAASA,EAAQylC,MAAMzlC,QACvBsmC,MAAOtmC,EAAQylC,MAAMa,MACrBu4B,KAAM7+D,EAAQylC,MAAMo5B,KACpBkP,OAAQ/tE,EAAQylC,MAAMsoC,OACtBxkC,OAAQvpC,EAAQylC,MAAM8D,OACtBuhC,aAAc9qE,EAAQylC,MAAMqlC,aAC5BkD,iBAAgD,MAA9BhuE,EAAQylC,MAAMqlC,aAChCmD,iBAAkBjuE,EAAQylC,MAAMwoC,iBAChCC,OAAQluE,EAAQylC,MAAMyoC,QAGpBluE,EAAQylC,MAAMjpB,WAChBslD,EAAMtlD,SAAWoxD,GACf5tE,EAAQylC,MAAMjpB,SACdsxD,IAIJnN,EAAO5iE,KAAK+jE,EApCX,MALCnB,EAAO5iE,KAAKjB,MACV6jE,EACAiN,GAAyB5tE,EAAQylC,MAAMjpB,SAAUolD,OA0ChDjB,CACR,iiBCjUK,SAAUwN,GAIKvxE,GAAA,IAHnBikE,EAGmBjkE,EAHnBikE,SACArkD,EAEmB5f,EAFnB4f,SACA1Z,EACmBlG,EADnBkG,OAEIsrE,EAAa3G,EAAAA,SACS,MAAtB2G,EAAW7pD,UACb6pD,EAAW7pD,QnC8DC,SACdrI,GAoBA,YApBmC,IAAnCA,IAAAA,EAAiC,CAAC,GAoB3B+iD,GAlBP,SACEn8D,EACA28D,GAEA,IAAA4O,EAAiCvrE,EAAO0tB,SACxC,OAAO0tC,EACL,GACA,CAAEG,SAHAgQ,EAAEhQ,SAGQ5qC,OAHV46C,EAAY56C,OAGM6qC,KAHE+P,EAAA/P,MAKrBmB,EAAct6B,OAASs6B,EAAct6B,MAAM84B,KAAQ,KACnDwB,EAAct6B,OAASs6B,EAAct6B,MAAM/xB,KAAQ,UAEvD,IAED,SAA2BtQ,EAAgBq7D,GACzC,MAAqB,kBAAPA,EAAkBA,EAAKM,EAAWN,EACjD,GAKC,KACAjiD,EAEH,CmCzFwBoyD,CAAqB,CAAExrE,OAAAA,EAAQ08D,UAAU,KAGhE,IAAIE,EAAU0O,EAAW7pD,QACzBgqD,EAAA3tE,EAAwB6mE,EAAAA,SAAe,CACrCl+B,OAAQm2B,EAAQn2B,OAChB/Y,SAAUkvC,EAAQlvC,WAFpB,GAAK2U,EAADopC,EAAC,GAAOzjB,EAARyjB,EAAC,GAOL,OAFA9G,EAAAA,iBAAsB,kBAAM/H,EAAQS,OAAOrV,EAA3C,GAAsD,CAAC4U,IAGrD+H,EAAAA,cAACuE,GAAM,CACLnL,SAAUA,EACVrkD,SAAUA,EACVgU,SAAU2U,EAAM3U,SAChB+7C,eAAgBpnC,EAAMoE,OACtB8uB,UAAWqH,GAGhB,CAoFD,IAAM8O,GACc,qBAAX1rE,QACoB,qBAApBA,OAAOG,UAC2B,qBAAlCH,OAAOG,SAASsC,cAEnBkpE,GAAqB,gCAKdC,GAAOjH,EAAAA,YAClB,SAYEwE,EAAAlmC,GAAG,IAKC4oC,EAfFz8B,EAUC+5B,EAVD/5B,QACA+2B,EASCgD,EATDhD,SACA2F,EAQC3C,EARD2C,eACApwE,EAOCytE,EAPDztE,QACA2mC,EAMC8mC,EAND9mC,MACApjB,EAKCkqD,EALDlqD,OACAo8C,EAIC8N,EAJD9N,GACA0Q,EAGC5C,EAHD4C,mBACG9L,EAEF+L,GAAA7C,EAAA8C,IAEGlO,EAAa4G,EAAAA,WAAiBuH,IAA9BnO,SAIFoO,GAAa,EAEjB,GAAkB,kBAAP9Q,GAAmBsQ,GAAmB1vE,KAAKo/D,KAEpDwQ,EAAexQ,EAGXqQ,IAAW,CACb,IAAIU,EAAa,IAAIjP,IAAIn9D,OAAO0tB,SAAS2F,MACrCg5C,EAAYhR,EAAG8D,WAAW,MAC1B,IAAIhC,IAAIiP,EAAWE,SAAWjR,GAC9B,IAAI8B,IAAI9B,GACRU,EAAOiC,EAAcqO,EAAU9Q,SAAUwC,GAEzCsO,EAAUnP,SAAWkP,EAAWlP,QAAkB,MAARnB,EAE5CV,EAAKU,EAAOsQ,EAAU17C,OAAS07C,EAAU7Q,KAEzC2Q,GAAa,CAEhB,CAIH,IAAI94C,EFjZD,SACLgoC,EAEQkR,GAAA,IADNpG,QACM,IAAAoG,EAD2C,CAAC,EAC5CA,GADNpG,SAGAV,MADFE,GAAA,GAOA,IAAA6G,EAA8B7H,EAAAA,WAAiBS,IAAzCrH,EAAFyO,EAAEzO,SAAUxI,EAAAiX,EAAAjX,UAChBkX,EAAiCnG,GAAgBjL,EAAI,CAAE8K,SAAAA,IAAjD3K,EAAFiR,EAAEjR,KAAMD,EAARkR,EAAQlR,SAAU5qC,EAAA87C,EAAA97C,OAElB+7C,EAAiBnR,EAWrB,MALiB,MAAbwC,IACF2O,EACe,MAAbnR,EAAmBwC,EAAWqB,EAAU,CAACrB,EAAUxC,KAGhDhG,EAAU8G,WAAW,CAAEd,SAAUmR,EAAgB/7C,OAAAA,EAAQ6qC,KAAAA,GACjE,CEuXcmR,CAAQtR,EAAI,CAAE8K,SAAAA,IAErByG,WAsVNvR,EAaMkR,GAAA,IAAAM,OAAA,IAAAN,EAAF,CAAC,EAACA,EAXJttD,EADF4tD,EACE5tD,OACS6tD,EAFXD,EAEEnxE,QACA2mC,EAHFwqC,EAGExqC,MACA0pC,EAJFc,EAIEd,mBACA5F,EAAA0G,EAAA1G,SASEF,EAAWL,KACXl4C,EAAWg4C,KACX3J,EAAOuK,GAAgBjL,EAAI,CAAE8K,SAAAA,IAEjC,OAAOxB,EAAAA,aACJ,SAAAxzC,GACC,GCjxBU,SACdA,EACAlS,GAEA,OACmB,IAAjBkS,EAAMnG,UACJ/L,GAAqB,UAAXA,KAVhB,SAAyBkS,GACvB,SAAUA,EAAMtG,SAAWsG,EAAMvG,QAAUuG,EAAMzG,SAAWyG,EAAMxG,SACnE,CASIoiD,CAAgB57C,EAEpB,CDwwBS67C,CAAuB77C,EAAOlS,GAAS,CACzCkS,EAAMpI,iBAIN,IAAIrtB,OACcuF,IAAhB6rE,EACIA,EACAnR,EAAWjuC,KAAciuC,EAAWI,GAE1CkK,EAAS5K,EAAI,CAAE3/D,QAAAA,EAAS2mC,MAAAA,EAAO0pC,mBAAAA,EAAoB5F,SAAAA,GACpD,IAEH,CACEz4C,EACAu4C,EACAlK,EACA+Q,EACAzqC,EACApjB,EACAo8C,EACA0Q,EACA5F,GAGL,CApYyB8G,CAAoB5R,EAAI,CAC5C3/D,QAAAA,EACA2mC,MAAAA,EACApjB,OAAAA,EACA8sD,mBAAAA,EACA5F,SAAAA,IAWF,OAEExB,EAAAA,cAAA,IAAArJ,GAAA,GACM2E,EADN,CAEE5sC,KAAMw4C,GAAgBx4C,EACtB+b,QAAS+8B,GAAcL,EAAiB18B,EAd5C,SACEje,GAEIie,GAASA,EAAQje,GAChBA,EAAMvI,kBACTgkD,EAAgBz7C,EAEnB,EAQG8R,IAAKA,EACLhkB,OAAQA,IAGb,IA+BI,IAAMiuD,GAAUvI,EAAAA,YACrB,SAWE0F,EAAApnC,GAAG,IAAAkqC,EAAA9C,EATD,gBAAgB+C,OAAe,IAAAD,EAAG,OADpCA,EAAAE,EAUGhD,EARDnL,cAAAA,OAAa,IAAAmO,GAFfA,EAAAC,EAUGjD,EAPDjnB,UAAWmqB,OAAa,IAAAD,EAAG,GAH7BA,EAAAE,EAUGnD,EANDz2C,IAAAA,OAAG,IAAA45C,GAJLA,EAKSC,EAKNpD,EALD9sD,MACA89C,EAICgP,EAJDhP,GACA3hD,EAGC2wD,EAHD3wD,SACGumD,EAEF+L,GAAA3B,EAAAqD,IAEC3R,EAAOuK,GAAgBjL,EAAI,CAAE8K,SAAUlG,EAAKkG,WAC5Cz4C,EAAWg4C,KACXiI,EAAchJ,EAAAA,WAAiBiJ,IAC7BrY,EAAcoP,EAAAA,WAAiBuH,IAA/B3W,UAEF2N,EAAa3N,EAAU+H,eACvB/H,EAAU+H,eAAevB,GAAMR,SAC/BQ,EAAKR,SACLwH,EAAmBr1C,EAAS6tC,SAC5BsS,EACFF,GAAeA,EAAY5E,YAAc4E,EAAY5E,WAAWr7C,SAC5DigD,EAAY5E,WAAWr7C,SAAS6tC,SAChC,KAED2D,IACH6D,EAAmBA,EAAiB3nE,cACpCyyE,EAAuBA,EACnBA,EAAqBzyE,cACrB,KACJ8nE,EAAaA,EAAW9nE,eAG1B,IAeIgoD,EAfA5B,EACFuhB,IAAqBG,IACnBtvC,GACAmvC,EAAiB5D,WAAW+D,IACmB,MAA/CH,EAAiBtlD,OAAOylD,EAAWzmE,QAEnCqxE,EACsB,MAAxBD,IACCA,IAAyB3K,IACtBtvC,GACAi6C,EAAqB1O,WAAW+D,IACmB,MAAnD2K,EAAqBpwD,OAAOylD,EAAWzmE,SAEzCsxE,EAAcvsB,EAAW4rB,OAAkBnsE,EAI7CmiD,EAD2B,oBAAlBmqB,EACGA,EAAc,CAAE/rB,SAAAA,EAAUssB,UAAAA,IAO1B,CACVP,EACA/rB,EAAW,SAAW,KACtBssB,EAAY,UAAY,MAEvBhuB,OAAOz3C,SACPg7B,KAAK,KAGV,IAAI9lB,EACmB,oBAAdkwD,EACHA,EAAU,CAAEjsB,SAAAA,EAAUssB,UAAAA,IACtBL,EAEN,OACE9I,EAAAA,cAACiH,GAADtQ,GAAA,GACM2E,EADN,CAEgB,eAAA8N,EACd3qB,UAAWA,EACXngB,IAAKA,EACL1lB,MAAOA,EACP89C,GAAIA,IAEiB,oBAAb3hD,EACJA,EAAS,CAAE8nC,SAAAA,EAAUssB,UAAAA,IACrBp0D,EAGT,IAgFH,IAkFK4tD,GAMAX,IANL,SAAKW,GACHA,EAAA,4CACAA,EAAA,8BACAA,EAAA,uBAHF,GAAKA,KAAAA,GAIJ,KAED,SAAKX,GACHA,EAAA,0BACAA,EAAA,2CAFF,EAAKA,KAAAA,GAGJ,KEhwBc,SAAS,GAAgBhP,EAAKrnD,EAAKvS,GAYhD,OAXAuS,EAAM,EAAcA,MACTqnD,EACTr+D,OAAOkW,eAAemoD,EAAKrnD,EAAK,CAC9BvS,MAAOA,EACPyG,YAAY,EACZD,cAAc,EACdD,UAAU,IAGZqzD,EAAIrnD,GAAOvS,EAEN45D,CACT,CCbA,SAASqW,GAAQ3wE,EAAQ4wE,GACvB,IAAI99D,EAAO7W,OAAO6W,KAAK9S,GACvB,GAAI/D,OAAOoW,sBAAuB,CAChC,IAAIw+D,EAAU50E,OAAOoW,sBAAsBrS,GAC3C4wE,IAAmBC,EAAUA,EAAQpuB,QAAO,SAAUquB,GACpD,OAAO70E,OAAOI,yBAAyB2D,EAAQ8wE,GAAK3pE,UACtD,KAAK2L,EAAKlV,KAAKjB,MAAMmW,EAAM+9D,EAC7B,CACA,OAAO/9D,CACT,CACe,SAAS,GAAe8O,GACrC,IAAK,IAAI5T,EAAI,EAAGA,EAAI7O,UAAUC,OAAQ4O,IAAK,CACzC,IAAIoT,EAAS,MAAQjiB,UAAU6O,GAAK7O,UAAU6O,GAAK,CAAC,EACpDA,EAAI,EAAI2iE,GAAQ10E,OAAOmlB,IAAS,GAAI5jB,SAAQ,SAAUyV,GACpD,GAAe2O,EAAQ3O,EAAKmO,EAAOnO,GACrC,IAAKhX,OAAO+qD,0BAA4B/qD,OAAOgrD,iBAAiBrlC,EAAQ3lB,OAAO+qD,0BAA0B5lC,IAAWuvD,GAAQ10E,OAAOmlB,IAAS5jB,SAAQ,SAAUyV,GAC5JhX,OAAOkW,eAAeyP,EAAQ3O,EAAKhX,OAAOI,yBAAyB+kB,EAAQnO,GAC7E,GACF,CACA,OAAO2O,CACT,eCnBMmvD,IAAgB/Z,EAAAA,EAAAA,eAAc,CAClCga,eAAgB,CAAEC,MAAO,MCI3B,IAkFA,GAlFkB,WAChB,IAAAC,GAA8CnlC,EAAAA,EAAAA,YAAWglC,IAAjDC,EAAcE,EAAdF,eAAgBG,EAAiBD,EAAjBC,kBACyBC,EAAA3wE,GAAf8rC,EAAAA,EAAAA,WAAS,GAAM,GAA1C8kC,EAASD,EAAA,GAAEE,EAAYF,EAAA,GACxBG,GAAWjlC,EAAAA,EAAAA,QAAO,MAC6BklC,EAAA/wE,GAA3B8rC,EAAAA,EAAAA,UAAS5pC,OAAOqxD,YAAW,GAA9CrjC,EAAK6gD,EAAA,GAAEC,EAAQD,EAAA,GAEhB5I,EAAWL,KAEX5f,EAAe,WACnB8oB,EAAS9uE,OAAOqxD,WAClB,GAEAhoB,EAAAA,EAAAA,YAAU,WACR,SAAS0lC,EAAe59C,GAClBA,EAAMvG,QAA4B,KAAlBuG,EAAMhJ,UACxBymD,EAASntD,QAAQwT,QACjB9D,EAAMpI,iBAEV,CAIA,OAFA/oB,OAAOogB,iBAAiB,UAAW2uD,GACnC/uE,OAAOogB,iBAAiB,SAAU4lC,GAC3B,WACLhmD,OAAOqgB,oBAAoB,UAAW0uD,GACtC/uE,OAAOqgB,oBAAoB,SAAU2lC,EACvC,CACF,GAAG,IA6BH,OACEgpB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,eAAe6rB,SAfR,SAAC99C,GACxBA,EAAMpI,iBACNk9C,EAAS,UACX,EAY4DvsD,UACxDw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,qBAAoB1pC,SAAA,EACjCs1D,EAAAA,GAAAA,KAAA,SACE/rC,IAAK2rC,EACL7wE,MAAOswE,EAAeC,MACtB5/D,KAAK,OACLm8C,KAAK,YACLkG,YAAa/iC,EAAQ,IAAG,0CACxBo1B,UAAU,eACV+rB,SArCkB,SAACh+C,GACzB1yB,QAAQglB,IAAI0N,EAAMlS,OAAOlhB,OACE,KAAvBozB,EAAMlS,OAAOlhB,MACf4wE,GAAa,GAEbA,GAAa,GAEfH,GAAkB,SAACY,GAAS,OAAAC,GAAAA,GAAA,GACvBD,GAAS,IACZd,MAAOn9C,EAAMlS,OAAOlhB,OAAK,GAE7B,KA4BMmxE,EAAAA,GAAAA,MAAA,OAAK9rB,UAAWsrB,EAAS,mEAAwEh1D,SAAA,EAC/Fs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,gBAAe1pC,SAAC,SAC/Bs1D,EAAAA,GAAAA,KAAA,QAAAt1D,SAAM,OACNs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,gBAAe1pC,SAAC,cAEjCs1D,EAAAA,GAAAA,KAAA,UAAQ5rB,UAAWsrB,EAAY,uBAAsB,oCAC7Ct/B,QA3BW,WACvBo/B,GAAkB,SAACY,GAAS,OAAAC,GAAAA,GAAA,GACvBD,GAAS,IACZd,MAAO,IAAE,IAEXK,GAAa,EACf,EAsBcjgE,KAAK,QAAOgL,UAClBs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,qCAK1B,ECgBA,GAnGmB,SAAHtpD,GAA8B,IAAzBw1E,EAAMx1E,EAANw1E,OAAQC,EAAUz1E,EAAVy1E,WAC3B,OACEL,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,cAAa1pC,SAAA,EAC1Bw1D,EAAAA,GAAAA,MAAA,UAAQ9/B,QAASmgC,EAAYnsB,UAAU,sBAAqB1pC,SAAA,EAC1Ds1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,6BAChB4rB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,6BAChB4rB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,+BAEjBksB,IACCJ,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,yBAAwB1pC,SAAA,EACrCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,wBAAuB1pC,SAAA,EACpCs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,0BAAyB1pC,SAAC,UACzCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,IACJjY,UAAW,SAAAosB,GAAW,OAAAA,EAARhuB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,YAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,SACJjY,UAAW,SAAAkgB,GAAW,OAAAA,EAAR9hB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,qBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,mBACJjY,UAAW,SAAA+lB,GAAW,OAAAA,EAAR3nB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,uBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,uBACJjY,UAAW,SAAAinB,GAAW,OAAAA,EAAR7oB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,2BAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,cACJjY,UAAW,SAAAqsB,GAAW,OAAAA,EAARjuB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,kBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,cACJjY,UAAW,SAAAssB,GAAW,OAAAA,EAARluB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,kBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,UACJjY,UAAW,SAAAusB,GAAW,OAAAA,EAARnuB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,cAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,aACJjY,UAAW,SAAAypB,GAAW,OAAAA,EAARrrB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,iBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,oBAAmB1pC,UAC/Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,QACJjY,UAAW,SAAAwsB,GAAW,OAAAA,EAARpuB,SACH,4BAA8B,mBAAmB,EAE5DpS,QAASmgC,EAAW71D,SACnB,iBAIfs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,6BAA6BhU,QAASmgC,EAAY1kB,KAAK,SAASJ,SAAU,EAAE/wC,UACzFw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,qBAAoB1pC,SAAA,EACjCs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,4BAChB4rB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,qCAO9B,ECuBA,GApHe,SAAHtpD,GAAoB,IAAfmsE,EAAQnsE,EAARmsE,SAC4CwI,EAAA3wE,GAAf8rC,EAAAA,EAAAA,WAAS,GAAM,GAApDimC,EAAcpB,EAAA,GAAEqB,EAAiBrB,EAAA,GACeI,EAAA/wE,GAAf8rC,EAAAA,EAAAA,WAAS,GAAM,GAAhDmmC,EAAYlB,EAAA,GAAEmB,EAAenB,EAAA,GACiBoB,EAAAnyE,GAA3B8rC,EAAAA,EAAAA,UAAS5pC,OAAOqxD,YAAW,GAA9CrjC,EAAKiiD,EAAA,GAAEnB,EAAQmB,EAAA,GAEhBV,EAAa,WACjBS,GAAiBD,EACnB,EAEM/pB,EAAe,WACnB8oB,EAAS9uE,OAAOqxD,WAClB,EAeA,OALAhoB,EAAAA,EAAAA,YAAU,WAER,OADArpC,OAAOogB,iBAAiB,SAAU4lC,GAC3B,kBAAMhmD,OAAOqgB,oBAAoB,SAAU2lC,EAAc,CAClE,GAAG,KAGDgpB,EAAAA,GAAAA,KAAA,UAAQ5rB,UAAU,SAAQ1pC,UACxBw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,kBAAiB1pC,SAAA,EAC9Bs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,eAAc1pC,UAC3Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,IAAIjY,UAAU,eAAc1pC,SAAC,YAI3Cs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,oCAAmC1pC,UAChDs1D,EAAAA,GAAAA,KAACkB,GAAS,CAACjK,SAAUA,OAEvBiJ,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,eAAc1pC,SAAA,EAC3Bs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAS,wBAAAn/C,OAA0B8rE,EAAe,+BAAiC,IACnF3gC,QAASmgC,EACT1kB,KAAK,WACT78B,EAAQ,KACHghD,EAAAA,GAAAA,KAACmB,GAAU,CAACb,OAAQS,EAAcR,WAAYA,KAC9CP,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,cAAa1pC,UAC1Bw1D,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,aAAY1pC,SAAA,EACxBs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,IACJjY,UAAW,SAAAosB,GAAW,OAAAA,EAARhuB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,YAEXw1D,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,8BACVgtB,aAxCW,WAC/BN,GAAkB,EACpB,EAuCsB3lB,aArCW,WAC/B2lB,GAAkB,EACpB,EAmC6Dp2D,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,SACHjY,UAAW,SAAAkgB,GAAW,OAAAA,EAAR9hB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,UAEVm2D,IACCX,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,WAAU1pC,SAAA,EACtBs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,eAAc1pC,UAC1Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,mBAAkB3hD,SAAC,uBAEjCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,eAAc1pC,UAC1Bs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,uBAAsB3hD,SAAC,iCAKzCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,cACJjY,UAAW,SAAA+lB,GAAW,OAAAA,EAAR3nB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,kBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,cACJjY,UAAW,SAAAinB,GAAW,OAAAA,EAAR7oB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,kBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,UACJjY,UAAW,SAAAqsB,GAAW,OAAAA,EAARjuB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,cAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,aACJjY,UAAW,SAAAssB,GAAW,OAAAA,EAARluB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,iBAEXs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,aAAY1pC,UACxBs1D,EAAAA,GAAAA,KAAC9B,GAAO,CAAC7R,GAAG,QACJjY,UAAW,SAAAusB,GAAW,OAAAA,EAARnuB,SACH,uBAAyB,cAAc,EACjD9nC,SACA,uBAS/B,EC5GA,GAZe,WACb,OACEs1D,EAAAA,GAAAA,KAAA,UAAQ5rB,UAAU,SAAQ1pC,UACxBs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,YAAW1pC,UACxBs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,kBAAiB1pC,UAC9Bs1D,EAAAA,GAAAA,KAAA,KAAG37C,KAAK,0BAA0B+vB,UAAU,cAAa1pC,SAAC,oCAKpE,+HCiGA,OArGA,WAGE,OACEw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,OAAM1pC,SAAA,EACnBs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,kBAAiB1pC,UAC9Bw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,YAAW1pC,SAAA,EACtBw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,0BAAyB1pC,SAAA,EACtCw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,uBAAsB1pC,SAAA,EACnCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,8BAA6B1pC,SAAC,uCAC5Cs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,iCAAgC1pC,SAAC,2OAGhDs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,mCAAkC1pC,UAC/Cs1D,EAAAA,GAAAA,KAACpD,GAAI,CAACvQ,GAAG,mBAAmBjY,UAAU,yBAAwB1pC,SAAC,sBAGnEs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,wBAAuB1pC,UACpCs1D,EAAAA,GAAAA,KAAC7e,GAAAA,cAAa,CAAChe,IAAKk+B,GACLriD,MAAO,IAAKC,OAAQ,IACpB+kC,eAAgB,gEAChBD,OAAO,OACP1P,IAAI,OACJD,UAAU,qBAI/B4rB,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,WAAU1pC,UACvBs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,oBAAmB1pC,UAChCs1D,EAAAA,GAAAA,KAAA,OACE5rB,UAAU,MACV7lC,MAAO,CAAC61C,gBAAgB,6HAADnvD,OAA+HqsE,GAAS,kBAKzKtB,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,iBAAgB1pC,UAC7Bs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,YAAW1pC,UACxBw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,qBAAoB1pC,SAAA,EACjCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,8BAA6B1pC,SAAC,cAC5Cs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,2BAA0B1pC,SAAC,uDACzCw1D,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,0BAAyB1pC,SAAA,EACrCw1D,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,0BAAyB1pC,SAAA,EACrCs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,kBAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,eAAgBs1D,EAAAA,GAAAA,KAAA,SAAS,qBAGhFE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,oCAAmC1pC,SAAA,EAC/Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,kBAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,eAAgBs1D,EAAAA,GAAAA,KAAA,SAAS,iBAGhFE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,qCAAoC1pC,SAAA,EAChDs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,wBAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,aAAcs1D,EAAAA,GAAAA,KAAA,SAAS,oBAG9EE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,oCAAmC1pC,SAAA,EAC/Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,wBAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,YAAas1D,EAAAA,GAAAA,KAAA,SAAS,cAG7EE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,qCAAoC1pC,SAAA,EAChDs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,kBAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,YAAas1D,EAAAA,GAAAA,KAAA,SAAS,oBAG7EE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,0BAAyB1pC,SAAA,EACrCs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gCAA+B1pC,SAAC,oCAChDw1D,EAAAA,GAAAA,MAAA,KAAG9rB,UAAU,gCAA+B1pC,SAAA,EAC1Cs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,mCAAkC1pC,SAAC,YAAas1D,EAAAA,GAAAA,KAAA,SAAS,mBAI/EE,EAAAA,GAAAA,MAAA,MAAI9rB,UAAU,0BAAyB1pC,SAAA,EACrCs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,gCAA+B1pC,UAC3Cs1D,EAAAA,GAAAA,KAAA,KAAAt1D,SAAG,6MAGLs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,gCAA+B1pC,UAC3Cs1D,EAAAA,GAAAA,KAAA,KAAAt1D,SAAG,wFAELs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,gCAA+B1pC,UAC3Cs1D,EAAAA,GAAAA,KAAA,KAAAt1D,SAAG,6DAELs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,gCAA+B1pC,UAC3Cs1D,EAAAA,GAAAA,KAAA,KAAAt1D,SAAG,8FAQnB,EC1Ge,SAAS,KAEtB,GAAsB,WACpB,OAAO7J,CACT,EACA,IAAIA,EAAU,CAAC,EACb0gE,EAAKj3E,OAAOsB,UACZ41E,EAASD,EAAGv8D,eACZxE,EAAiBlW,OAAOkW,gBAAkB,SAAUmoD,EAAKrnD,EAAKhS,GAC5Dq5D,EAAIrnD,GAAOhS,EAAKP,KAClB,EACA0yE,EAAU,mBAAqBhgE,OAASA,OAAS,CAAC,EAClDigE,EAAiBD,EAAQl6D,UAAY,aACrCo6D,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQvyB,aAAe,gBAC7C,SAAS4yB,EAAOnZ,EAAKrnD,EAAKvS,GACxB,OAAOzE,OAAOkW,eAAemoD,EAAKrnD,EAAK,CACrCvS,MAAOA,EACPyG,YAAY,EACZD,cAAc,EACdD,UAAU,IACRqzD,EAAIrnD,EACV,CACA,IACEwgE,EAAO,CAAC,EAAG,GACb,CAAE,MAAO7yE,GACP6yE,EAAS,SAAgBnZ,EAAKrnD,EAAKvS,GACjC,OAAO45D,EAAIrnD,GAAOvS,CACpB,CACF,CACA,SAASgzE,EAAKC,EAASC,EAAS7yB,EAAM8yB,GACpC,IAAIC,EAAiBF,GAAWA,EAAQr2E,qBAAqBw2E,EAAYH,EAAUG,EACjFC,EAAY/3E,OAAOO,OAAOs3E,EAAev2E,WACzC0kC,EAAU,IAAIgyC,EAAQJ,GAAe,IACvC,OAAO1hE,EAAe6hE,EAAW,UAAW,CAC1CtzE,MAAOwzE,EAAiBP,EAAS5yB,EAAM9e,KACrC+xC,CACN,CACA,SAASG,EAAS3W,EAAIlD,EAAKyB,GACzB,IACE,MAAO,CACL1qD,KAAM,SACN0qD,IAAKyB,EAAG7wD,KAAK2tD,EAAKyB,GAEtB,CAAE,MAAOn7D,GACP,MAAO,CACLyQ,KAAM,QACN0qD,IAAKn7D,EAET,CACF,CACA4R,EAAQkhE,KAAOA,EACf,IAAIU,EAAmB,CAAC,EACxB,SAASL,IAAa,CACtB,SAASM,IAAqB,CAC9B,SAASC,IAA8B,CACvC,IAAIC,EAAoB,CAAC,EACzBd,EAAOc,EAAmBlB,GAAgB,WACxC,OAAOt8D,IACT,IACA,IAAIsjD,EAAWp+D,OAAOG,eACpBo4E,EAA0Bna,GAAYA,EAASA,EAASoa,EAAO,MACjED,GAA2BA,IAA4BtB,GAAMC,EAAOxmE,KAAK6nE,EAAyBnB,KAAoBkB,EAAoBC,GAC1I,IAAIE,EAAKJ,EAA2B/2E,UAAYw2E,EAAUx2E,UAAYtB,OAAOO,OAAO+3E,GACpF,SAASI,EAAsBp3E,GAC7B,CAAC,OAAQ,QAAS,UAAUC,SAAQ,SAAUo3E,GAC5CnB,EAAOl2E,EAAWq3E,GAAQ,SAAU7Y,GAClC,OAAOhlD,KAAK89D,QAAQD,EAAQ7Y,EAC9B,GACF,GACF,CACA,SAAS+Y,EAAcd,EAAWe,GAChC,SAASC,EAAOJ,EAAQ7Y,EAAKx/B,EAAS04C,GACpC,IAAIC,EAASf,EAASH,EAAUY,GAASZ,EAAWjY,GACpD,GAAI,UAAYmZ,EAAO7jE,KAAM,CAC3B,IAAI4rD,EAASiY,EAAOnZ,IAClBr7D,EAAQu8D,EAAOv8D,MACjB,OAAOA,GAAS,UAAYqC,EAAQrC,IAAUyyE,EAAOxmE,KAAKjM,EAAO,WAAaq0E,EAAYx4C,QAAQ77B,EAAMy0E,SAAS34C,MAAK,SAAU97B,GAC9Hs0E,EAAO,OAAQt0E,EAAO67B,EAAS04C,EACjC,IAAG,SAAUr0E,GACXo0E,EAAO,QAASp0E,EAAK27B,EAAS04C,EAChC,IAAKF,EAAYx4C,QAAQ77B,GAAO87B,MAAK,SAAU44C,GAC7CnY,EAAOv8D,MAAQ00E,EAAW74C,EAAQ0gC,EACpC,IAAG,SAAU5vB,GACX,OAAO2nC,EAAO,QAAS3nC,EAAO9Q,EAAS04C,EACzC,GACF,CACAA,EAAOC,EAAOnZ,IAChB,CACA,IAAIsZ,EACJljE,EAAe4E,KAAM,UAAW,CAC9BrW,MAAO,SAAek0E,EAAQ7Y,GAC5B,SAASuZ,IACP,OAAO,IAAIP,GAAY,SAAUx4C,EAAS04C,GACxCD,EAAOJ,EAAQ7Y,EAAKx/B,EAAS04C,EAC/B,GACF,CACA,OAAOI,EAAkBA,EAAkBA,EAAgB74C,KAAK84C,EAA4BA,GAA8BA,GAC5H,GAEJ,CACA,SAASpB,EAAiBP,EAAS5yB,EAAM9e,GACvC,IAAI+C,EAAQ,iBACZ,OAAO,SAAU4vC,EAAQ7Y,GACvB,GAAI,cAAgB/2B,EAAO,MAAM,IAAIzrB,MAAM,gCAC3C,GAAI,cAAgByrB,EAAO,CACzB,GAAI,UAAY4vC,EAAQ,MAAM7Y,EAC9B,OAAOwZ,GACT,CACA,IAAKtzC,EAAQ2yC,OAASA,EAAQ3yC,EAAQ85B,IAAMA,IAAO,CACjD,IAAIyZ,EAAWvzC,EAAQuzC,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUvzC,GACnD,GAAIwzC,EAAgB,CAClB,GAAIA,IAAmBrB,EAAkB,SACzC,OAAOqB,CACT,CACF,CACA,GAAI,SAAWxzC,EAAQ2yC,OAAQ3yC,EAAQ0zC,KAAO1zC,EAAQ2zC,MAAQ3zC,EAAQ85B,SAAS,GAAI,UAAY95B,EAAQ2yC,OAAQ,CAC7G,GAAI,mBAAqB5vC,EAAO,MAAMA,EAAQ,YAAa/C,EAAQ85B,IACnE95B,EAAQ4zC,kBAAkB5zC,EAAQ85B,IACpC,KAAO,WAAa95B,EAAQ2yC,QAAU3yC,EAAQ6zC,OAAO,SAAU7zC,EAAQ85B,KACvE/2B,EAAQ,YACR,IAAIkwC,EAASf,EAASR,EAAS5yB,EAAM9e,GACrC,GAAI,WAAaizC,EAAO7jE,KAAM,CAC5B,GAAI2zB,EAAQ/C,EAAQ1hC,KAAO,YAAc,iBAAkB20E,EAAOnZ,MAAQqY,EAAkB,SAC5F,MAAO,CACL1zE,MAAOw0E,EAAOnZ,IACdx7D,KAAM0hC,EAAQ1hC,KAElB,CACA,UAAY20E,EAAO7jE,OAAS2zB,EAAQ,YAAa/C,EAAQ2yC,OAAS,QAAS3yC,EAAQ85B,IAAMmZ,EAAOnZ,IAClG,CACF,CACF,CACA,SAAS2Z,EAAoBF,EAAUvzC,GACrC,IAAI8zC,EAAa9zC,EAAQ2yC,OACvBA,EAASY,EAASt8D,SAAS68D,GAC7B,QAAInyE,IAAcgxE,EAAQ,OAAO3yC,EAAQuzC,SAAW,KAAM,UAAYO,GAAcP,EAASt8D,SAAiB,SAAM+oB,EAAQ2yC,OAAS,SAAU3yC,EAAQ85B,SAAMn4D,EAAW8xE,EAAoBF,EAAUvzC,GAAU,UAAYA,EAAQ2yC,SAAW,WAAamB,IAAe9zC,EAAQ2yC,OAAS,QAAS3yC,EAAQ85B,IAAM,IAAIh9D,UAAU,oCAAsCg3E,EAAa,aAAc3B,EAClY,IAAIc,EAASf,EAASS,EAAQY,EAASt8D,SAAU+oB,EAAQ85B,KACzD,GAAI,UAAYmZ,EAAO7jE,KAAM,OAAO4wB,EAAQ2yC,OAAS,QAAS3yC,EAAQ85B,IAAMmZ,EAAOnZ,IAAK95B,EAAQuzC,SAAW,KAAMpB,EACjH,IAAI4B,EAAOd,EAAOnZ,IAClB,OAAOia,EAAOA,EAAKz1E,MAAQ0hC,EAAQuzC,EAASS,YAAcD,EAAKt1E,MAAOuhC,EAAQE,KAAOqzC,EAASU,QAAS,WAAaj0C,EAAQ2yC,SAAW3yC,EAAQ2yC,OAAS,OAAQ3yC,EAAQ85B,SAAMn4D,GAAYq+B,EAAQuzC,SAAW,KAAMpB,GAAoB4B,GAAQ/zC,EAAQ2yC,OAAS,QAAS3yC,EAAQ85B,IAAM,IAAIh9D,UAAU,oCAAqCkjC,EAAQuzC,SAAW,KAAMpB,EACrW,CACA,SAAS+B,EAAaC,GACpB,IAAIC,EAAQ,CACVC,OAAQF,EAAK,IAEf,KAAKA,IAASC,EAAME,SAAWH,EAAK,IAAK,KAAKA,IAASC,EAAMG,WAAaJ,EAAK,GAAIC,EAAMI,SAAWL,EAAK,IAAKr/D,KAAK2/D,WAAW94E,KAAKy4E,EACrI,CACA,SAASM,EAAcN,GACrB,IAAInB,EAASmB,EAAMO,YAAc,CAAC,EAClC1B,EAAO7jE,KAAO,gBAAiB6jE,EAAOnZ,IAAKsa,EAAMO,WAAa1B,CAChE,CACA,SAASjB,EAAQJ,GACf98D,KAAK2/D,WAAa,CAAC,CACjBJ,OAAQ,SACNzC,EAAYr2E,QAAQ24E,EAAcp/D,MAAOA,KAAK8/D,OAAM,EAC1D,CACA,SAASpC,EAAOqC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASzD,GAC9B,GAAI0D,EAAgB,OAAOA,EAAepqE,KAAKmqE,GAC/C,GAAI,mBAAqBA,EAAS30C,KAAM,OAAO20C,EAC/C,IAAKh/D,MAAMg/D,EAAS13E,QAAS,CAC3B,IAAI4O,GAAK,EACPm0B,EAAO,SAASA,IACd,OAASn0B,EAAI8oE,EAAS13E,QAAS,GAAI+zE,EAAOxmE,KAAKmqE,EAAU9oE,GAAI,OAAOm0B,EAAKzhC,MAAQo2E,EAAS9oE,GAAIm0B,EAAK5hC,MAAO,EAAI4hC,EAC9G,OAAOA,EAAKzhC,WAAQkD,EAAWu+B,EAAK5hC,MAAO,EAAI4hC,CACjD,EACF,OAAOA,EAAKA,KAAOA,CACrB,CACF,CACA,MAAO,CACLA,KAAMozC,EAEV,CACA,SAASA,IACP,MAAO,CACL70E,WAAOkD,EACPrD,MAAM,EAEV,CACA,OAAO8zE,EAAkB92E,UAAY+2E,EAA4BniE,EAAeuiE,EAAI,cAAe,CACjGh0E,MAAO4zE,EACPptE,cAAc,IACZiL,EAAemiE,EAA4B,cAAe,CAC5D5zE,MAAO2zE,EACPntE,cAAc,IACZmtE,EAAkBtjE,YAAc0iE,EAAOa,EAA4Bd,EAAmB,qBAAsBhhE,EAAQwkE,oBAAsB,SAAUC,GACtJ,IAAIC,EAAO,mBAAqBD,GAAUA,EAAO18D,YACjD,QAAS28D,IAASA,IAAS7C,GAAqB,uBAAyB6C,EAAKnmE,aAAemmE,EAAK3rE,MACpG,EAAGiH,EAAQ2kE,KAAO,SAAUF,GAC1B,OAAOh7E,OAAOC,eAAiBD,OAAOC,eAAe+6E,EAAQ3C,IAA+B2C,EAAO/vB,UAAYotB,EAA4Bb,EAAOwD,EAAQzD,EAAmB,sBAAuByD,EAAO15E,UAAYtB,OAAOO,OAAOk4E,GAAKuC,CAC5O,EAAGzkE,EAAQ4kE,MAAQ,SAAUrb,GAC3B,MAAO,CACLoZ,QAASpZ,EAEb,EAAG4Y,EAAsBG,EAAcv3E,WAAYk2E,EAAOqB,EAAcv3E,UAAW+1E,GAAqB,WACtG,OAAOv8D,IACT,IAAIvE,EAAQsiE,cAAgBA,EAAetiE,EAAQ6kE,MAAQ,SAAU1D,EAASC,EAAS7yB,EAAM8yB,EAAakB,QACxG,IAAWA,IAAgBA,EAAc34C,SACzC,IAAIw/B,EAAO,IAAIkZ,EAAcpB,EAAKC,EAASC,EAAS7yB,EAAM8yB,GAAckB,GACxE,OAAOviE,EAAQwkE,oBAAoBpD,GAAWhY,EAAOA,EAAKz5B,OAAO3F,MAAK,SAAUygC,GAC9E,OAAOA,EAAO18D,KAAO08D,EAAOv8D,MAAQk7D,EAAKz5B,MAC3C,GACF,EAAGwyC,EAAsBD,GAAKjB,EAAOiB,EAAIlB,EAAmB,aAAcC,EAAOiB,EAAIrB,GAAgB,WACnG,OAAOt8D,IACT,IAAI08D,EAAOiB,EAAI,YAAY,WACzB,MAAO,oBACT,IAAIliE,EAAQM,KAAO,SAAUwkE,GAC3B,IAAIt3E,EAAS/D,OAAOq7E,GAClBxkE,EAAO,GACT,IAAK,IAAIG,KAAOjT,EAAQ8S,EAAKlV,KAAKqV,GAClC,OAAOH,EAAKykE,UAAW,SAASp1C,IAC9B,KAAOrvB,EAAK1T,QAAS,CACnB,IAAI6T,EAAMH,EAAKpV,MACf,GAAIuV,KAAOjT,EAAQ,OAAOmiC,EAAKzhC,MAAQuS,EAAKkvB,EAAK5hC,MAAO,EAAI4hC,CAC9D,CACA,OAAOA,EAAK5hC,MAAO,EAAI4hC,CACzB,CACF,EAAG3vB,EAAQiiE,OAASA,EAAQR,EAAQ12E,UAAY,CAC9Cgd,YAAa05D,EACb4C,MAAO,SAAeW,GACpB,GAAIzgE,KAAK0gE,KAAO,EAAG1gE,KAAKorB,KAAO,EAAGprB,KAAK4+D,KAAO5+D,KAAK6+D,WAAQhyE,EAAWmT,KAAKxW,MAAO,EAAIwW,KAAKy+D,SAAW,KAAMz+D,KAAK69D,OAAS,OAAQ79D,KAAKglD,SAAMn4D,EAAWmT,KAAK2/D,WAAWl5E,QAAQm5E,IAAiBa,EAAe,IAAK,IAAIjsE,KAAQwL,KAAM,MAAQxL,EAAK6U,OAAO,IAAM+yD,EAAOxmE,KAAKoK,KAAMxL,KAAUuM,OAAOvM,EAAKqM,MAAM,MAAQb,KAAKxL,QAAQ3H,EACtU,EACA8zE,KAAM,WACJ3gE,KAAKxW,MAAO,EACZ,IAAIo3E,EAAa5gE,KAAK2/D,WAAW,GAAGE,WACpC,GAAI,UAAYe,EAAWtmE,KAAM,MAAMsmE,EAAW5b,IAClD,OAAOhlD,KAAK6gE,IACd,EACA/B,kBAAmB,SAA2BgC,GAC5C,GAAI9gE,KAAKxW,KAAM,MAAMs3E,EACrB,IAAI51C,EAAUlrB,KACd,SAASg3D,EAAO+J,EAAKC,GACnB,OAAO7C,EAAO7jE,KAAO,QAAS6jE,EAAOnZ,IAAM8b,EAAW51C,EAAQE,KAAO21C,EAAKC,IAAW91C,EAAQ2yC,OAAS,OAAQ3yC,EAAQ85B,SAAMn4D,KAAcm0E,CAC5I,CACA,IAAK,IAAI/pE,EAAI+I,KAAK2/D,WAAWt3E,OAAS,EAAG4O,GAAK,IAAKA,EAAG,CACpD,IAAIqoE,EAAQt/D,KAAK2/D,WAAW1oE,GAC1BknE,EAASmB,EAAMO,WACjB,GAAI,SAAWP,EAAMC,OAAQ,OAAOvI,EAAO,OAC3C,GAAIsI,EAAMC,QAAUv/D,KAAK0gE,KAAM,CAC7B,IAAIO,EAAW7E,EAAOxmE,KAAK0pE,EAAO,YAChC4B,EAAa9E,EAAOxmE,KAAK0pE,EAAO,cAClC,GAAI2B,GAAYC,EAAY,CAC1B,GAAIlhE,KAAK0gE,KAAOpB,EAAME,SAAU,OAAOxI,EAAOsI,EAAME,UAAU,GAC9D,GAAIx/D,KAAK0gE,KAAOpB,EAAMG,WAAY,OAAOzI,EAAOsI,EAAMG,WACxD,MAAO,GAAIwB,GACT,GAAIjhE,KAAK0gE,KAAOpB,EAAME,SAAU,OAAOxI,EAAOsI,EAAME,UAAU,OACzD,CACL,IAAK0B,EAAY,MAAM,IAAI1+D,MAAM,0CACjC,GAAIxC,KAAK0gE,KAAOpB,EAAMG,WAAY,OAAOzI,EAAOsI,EAAMG,WACxD,CACF,CACF,CACF,EACAV,OAAQ,SAAgBzkE,EAAM0qD,GAC5B,IAAK,IAAI/tD,EAAI+I,KAAK2/D,WAAWt3E,OAAS,EAAG4O,GAAK,IAAKA,EAAG,CACpD,IAAIqoE,EAAQt/D,KAAK2/D,WAAW1oE,GAC5B,GAAIqoE,EAAMC,QAAUv/D,KAAK0gE,MAAQtE,EAAOxmE,KAAK0pE,EAAO,eAAiBt/D,KAAK0gE,KAAOpB,EAAMG,WAAY,CACjG,IAAI0B,EAAe7B,EACnB,KACF,CACF,CACA6B,IAAiB,UAAY7mE,GAAQ,aAAeA,IAAS6mE,EAAa5B,QAAUva,GAAOA,GAAOmc,EAAa1B,aAAe0B,EAAe,MAC7I,IAAIhD,EAASgD,EAAeA,EAAatB,WAAa,CAAC,EACvD,OAAO1B,EAAO7jE,KAAOA,EAAM6jE,EAAOnZ,IAAMA,EAAKmc,GAAgBnhE,KAAK69D,OAAS,OAAQ79D,KAAKorB,KAAO+1C,EAAa1B,WAAYpC,GAAoBr9D,KAAKohE,SAASjD,EAC5J,EACAiD,SAAU,SAAkBjD,EAAQuB,GAClC,GAAI,UAAYvB,EAAO7jE,KAAM,MAAM6jE,EAAOnZ,IAC1C,MAAO,UAAYmZ,EAAO7jE,MAAQ,aAAe6jE,EAAO7jE,KAAO0F,KAAKorB,KAAO+yC,EAAOnZ,IAAM,WAAamZ,EAAO7jE,MAAQ0F,KAAK6gE,KAAO7gE,KAAKglD,IAAMmZ,EAAOnZ,IAAKhlD,KAAK69D,OAAS,SAAU79D,KAAKorB,KAAO,OAAS,WAAa+yC,EAAO7jE,MAAQolE,IAAa1/D,KAAKorB,KAAOs0C,GAAWrC,CACtQ,EACAgE,OAAQ,SAAgB5B,GACtB,IAAK,IAAIxoE,EAAI+I,KAAK2/D,WAAWt3E,OAAS,EAAG4O,GAAK,IAAKA,EAAG,CACpD,IAAIqoE,EAAQt/D,KAAK2/D,WAAW1oE,GAC5B,GAAIqoE,EAAMG,aAAeA,EAAY,OAAOz/D,KAAKohE,SAAS9B,EAAMO,WAAYP,EAAMI,UAAWE,EAAcN,GAAQjC,CACrH,CACF,EACA,MAAS,SAAgBkC,GACvB,IAAK,IAAItoE,EAAI+I,KAAK2/D,WAAWt3E,OAAS,EAAG4O,GAAK,IAAKA,EAAG,CACpD,IAAIqoE,EAAQt/D,KAAK2/D,WAAW1oE,GAC5B,GAAIqoE,EAAMC,SAAWA,EAAQ,CAC3B,IAAIpB,EAASmB,EAAMO,WACnB,GAAI,UAAY1B,EAAO7jE,KAAM,CAC3B,IAAIgnE,EAASnD,EAAOnZ,IACpB4a,EAAcN,EAChB,CACA,OAAOgC,CACT,CACF,CACA,MAAM,IAAI9+D,MAAM,wBAClB,EACA++D,cAAe,SAAuBxB,EAAUb,EAAYC,GAC1D,OAAOn/D,KAAKy+D,SAAW,CACrBt8D,SAAUu7D,EAAOqC,GACjBb,WAAYA,EACZC,QAASA,GACR,SAAWn/D,KAAK69D,SAAW79D,KAAKglD,SAAMn4D,GAAYwwE,CACvD,GACC5hE,CACL,CC9SA,SAAS+lE,GAAmBC,EAAKj8C,EAAS04C,EAAQwD,EAAOC,EAAQzlE,EAAK8oD,GACpE,IACE,IAAIia,EAAOwC,EAAIvlE,GAAK8oD,GAChBr7D,EAAQs1E,EAAKt1E,KACnB,CAAE,MAAO2sC,GAEP,YADA4nC,EAAO5nC,EAET,CACI2oC,EAAKz1E,KACPg8B,EAAQ77B,GAER07B,QAAQG,QAAQ77B,GAAO87B,KAAKi8C,EAAOC,EAEvC,CACe,SAAS,GAAkBlb,GACxC,OAAO,WACL,IAAIzc,EAAOhqC,KACTha,EAAOoC,UACT,OAAO,IAAIi9B,SAAQ,SAAUG,EAAS04C,GACpC,IAAIuD,EAAMhb,EAAG7gE,MAAMokD,EAAMhkD,GACzB,SAAS07E,EAAM/3E,GACb63E,GAAmBC,EAAKj8C,EAAS04C,EAAQwD,EAAOC,EAAQ,OAAQh4E,EAClE,CACA,SAASg4E,EAAO93E,GACd23E,GAAmBC,EAAKj8C,EAAS04C,EAAQwD,EAAOC,EAAQ,QAAS93E,EACnE,CACA63E,OAAM70E,EACR,GACF,CACF,CC3BA,IAyBA,GAzBqB,SAACk9D,EAAM6X,GAC1B,IAAMC,GAAcxsC,EAAAA,EAAAA,UAAQ,WAC1B,IAAI00B,EAgBF,OAAA3jE,EAAWw7E,GAfX,OAAQ7X,GACN,IAAK,OACH,OAAO3jE,EAAIw7E,GAAW7X,MAAK,SAAC1sD,EAAGjB,GAAC,OAAKiB,EAAE0sD,GAAM+X,cAAc1lE,EAAE2tD,GAAM,IACrE,IAAK,SAEL,IAAK,aACH,OAAO3jE,EAAIw7E,GAAW7X,MAAK,SAAC1sD,EAAGjB,GAAC,OAAKA,EAAE2tD,GAAQ1sD,EAAE0sD,EAAK,IACxD,IAAK,QACH,OAAO3jE,EAAIw7E,GAAW7X,MAAK,SAAC1sD,EAAGjB,GAAC,OAAKiB,EAAE0sD,GAAQ3tD,EAAE2tD,EAAK,IACxD,IAAK,WACH,OAAO3jE,EAAIw7E,GAAW7X,MAAK,SAAC1sD,EAAGjB,GAAC,OAAK,IAAImZ,KAAKlY,EAAE0sD,IAAS,IAAIx0C,KAAKnZ,EAAE2tD,GAAM,IAC5E,QACE,OAAA3jE,EAAWw7E,GAKnB,GAAG,CAAC7X,EAAM6X,IAEV,OAAOC,CACT,ECvBaE,GAAc,SAACv1C,GAC1B,IAAgD6tC,EAAA3wE,GAAd8rC,EAAAA,EAAAA,WAAS,GAAK,GAAzCwsC,EAAS3H,EAAA,GAAE4H,EAAY5H,EAAA,GACQI,EAAA/wE,GAAZ8rC,EAAAA,EAAAA,UAAS,IAAG,GAA/Bc,EAAKmkC,EAAA,GAAEyH,EAAQzH,EAAA,GAEhB0H,EAAQ,eAAAz8E,EAAA08E,GAAAC,KAAAjC,MAAG,SAAAkC,IAAA,IAAAC,EAAAn6E,UAAA,OAAAi6E,KAAA1F,MAAA,SAAA35D,GAAA,cAAAA,EAAA09D,KAAA19D,EAAAooB,MAAA,OAEM,OAFNpoB,EAAA09D,KAAA,EAEbuB,GAAa,GAAMj/D,EAAAooB,KAAA,EACboB,EAAQ5mC,WAAC,EAAD28E,GAAU,KAAD,EAAAv/D,EAAAooB,KAAA,eAAApoB,EAAA09D,KAAA,EAAA19D,EAAAw/D,GAAAx/D,EAAA,SAEvBk/D,EAASl/D,EAAAw/D,GAAEtsC,SAAS,OAEA,OAFAlzB,EAAA09D,KAAA,EAEpBuB,GAAa,GAAOj/D,EAAAq+D,OAAA,4BAAAr+D,EAAA29D,OAAA,GAAA2B,EAAA,uBAEvB,kBATa,OAAA58E,EAAAE,MAAA,KAAAwC,UAAA,KAWd,MAAO,CAAC+5E,EAAUH,EAAW1rC,EAC/B,EChBamsC,GAAc,SAAC5zC,EAAK6zC,EAASV,EAAWr9D,GACnD,IAAM63C,GAAWjnB,EAAAA,EAAAA,WACjBN,EAAAA,EAAAA,YAAU,WACR,IAAI+sC,EAAJ,CAEIxlB,EAASnvC,SACXmvC,EAASnvC,QAAQ6+B,aAQnBsQ,EAASnvC,QAAU,IAAIovC,sBANN,SAASx3D,EAASu3D,GAC7Bv3D,EAAQ,GAAGi3D,gBAAkBwmB,GAC/B/9D,GAEJ,IAGA63C,EAASnvC,QAAQy+B,QAAQjd,EAAIxhB,QAZL,CAa1B,GAAG,CAAC20D,GACN,ECjBe,SAAS3+C,GAAKojC,EAAIv+D,GAC/B,OAAO,WACL,OAAOu+D,EAAG7gE,MAAMsC,EAASE,UAC3B,CACF,CCAA,IAGgB85C,GAHTh7C,GAAYhC,OAAOsB,UAAnBU,SACA7B,GAAkBH,OAAlBG,eAEDs9E,IAAUzgC,GAGbh9C,OAAOO,OAAO,MAHQ,SAAAm9E,GACrB,IAAMC,EAAM37E,GAAS0O,KAAKgtE,GAC1B,OAAO1gC,GAAM2gC,KAAS3gC,GAAM2gC,GAAOA,EAAIhiE,MAAM,GAAI,GAAG7Z,cACxD,GAEM87E,GAAa,SAACxoE,GAElB,OADAA,EAAOA,EAAKtT,cACL,SAAC47E,GAAK,OAAKD,GAAOC,KAAWtoE,CAAI,CAC1C,EAEMyoE,GAAa,SAAAzoE,GAAI,OAAI,SAAAsoE,GAAK,cAAWA,IAAUtoE,CAAI,GASlDwK,GAAWve,MAAXue,QASDk+D,GAAcD,GAAW,aAqB/B,IAAME,GAAgBH,GAAW,eA2BjC,IAAMI,GAAWH,GAAW,UAQtBI,GAAaJ,GAAW,YASxBK,GAAWL,GAAW,UAStBM,GAAW,SAACT,GAAK,OAAe,OAAVA,GAAmC,kBAAVA,CAAkB,EAiBjEU,GAAgB,SAAC/C,GACrB,GAAoB,WAAhBoC,GAAOpC,GACT,OAAO,EAGT,IAAM/5E,EAAYnB,GAAek7E,GACjC,OAAsB,OAAd/5E,GAAsBA,IAActB,OAAOsB,WAAkD,OAArCtB,OAAOG,eAAemB,OAA0B6V,OAAOytC,eAAey2B,MAAUlkE,OAAO8F,YAAYo+D,EACrK,EASMgD,GAAST,GAAW,QASpBU,GAASV,GAAW,QASpBW,GAASX,GAAW,QASpBY,GAAaZ,GAAW,YAkCxBa,GAAoBb,GAAW,mBA2BrC,SAASr8E,GAAQ88D,EAAKkD,GAA+B,IAM/CxvD,EACApO,EAP6C+6E,GAAEx7E,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAJ,CAAC,GAAvBy7E,WAAAA,OAAU,IAAAD,GAAQA,EAE3C,GAAY,OAARrgB,GAA+B,qBAARA,EAa3B,GALmB,kBAARA,IAETA,EAAM,CAACA,IAGLz+C,GAAQy+C,GAEV,IAAKtsD,EAAI,EAAGpO,EAAI06D,EAAIl7D,OAAQ4O,EAAIpO,EAAGoO,IACjCwvD,EAAG7wD,KAAK,KAAM2tD,EAAItsD,GAAIA,EAAGssD,OAEtB,CAEL,IAEIrnD,EAFEH,EAAO8nE,EAAa3+E,OAAOmW,oBAAoBkoD,GAAOr+D,OAAO6W,KAAKwnD,GAClES,EAAMjoD,EAAK1T,OAGjB,IAAK4O,EAAI,EAAGA,EAAI+sD,EAAK/sD,IACnBiF,EAAMH,EAAK9E,GACXwvD,EAAG7wD,KAAK,KAAM2tD,EAAIrnD,GAAMA,EAAKqnD,EAEjC,CACF,CAEA,SAASugB,GAAQvgB,EAAKrnD,GACpBA,EAAMA,EAAIlV,cAIV,IAHA,IAEIsB,EAFEyT,EAAO7W,OAAO6W,KAAKwnD,GACrBtsD,EAAI8E,EAAK1T,OAEN4O,KAAM,GAEX,GAAIiF,KADJ5T,EAAOyT,EAAK9E,IACKjQ,cACf,OAAOsB,EAGX,OAAO,IACT,CAEA,IAAMy7E,GAEsB,qBAAfl6B,WAAmCA,WACvB,qBAATG,KAAuBA,KAA0B,qBAAXp+C,OAAyBA,OAASm+C,OAGlFi6B,GAAmB,SAAC94C,GAAO,OAAM83C,GAAY93C,IAAYA,IAAY64C,EAAO,EAoDlF,IA8HsBE,GAAhBC,IAAgBD,GAKG,qBAAfE,YAA8B9+E,GAAe8+E,YAH9C,SAAAvB,GACL,OAAOqB,IAAcrB,aAAiBqB,EACxC,GA4CIG,GAAatB,GAAW,mBAWxBljE,GAAkB,SAAAm1D,GAAA,IAAEn1D,EAAmE1a,OAAOsB,UAA1EoZ,eAAc,OAAM,SAAC2jD,EAAKt5D,GAAI,OAAK2V,EAAehK,KAAK2tD,EAAKt5D,EAAK,EAAnE,GASlBo6E,GAAWvB,GAAW,UAEtBwB,GAAoB,SAAC/gB,EAAKghB,GAC9B,IAAMC,EAAct/E,OAAO+qD,0BAA0BsT,GAC/CkhB,EAAqB,CAAC,EAE5Bh+E,GAAQ+9E,GAAa,SAACroE,EAAY3H,IACO,IAAnC+vE,EAAQpoE,EAAY3H,EAAM+uD,KAC5BkhB,EAAmBjwE,GAAQ2H,EAE/B,IAEAjX,OAAOgrD,iBAAiBqT,EAAKkhB,EAC/B,EAsDMC,GAAQ,6BAERC,GAAQ,aAERC,GAAW,CACfD,MAAAA,GACAD,MAAAA,GACAG,YAAaH,GAAQA,GAAM/jE,cAAgBgkE,IAwB7C,IA+BA,IACE7/D,QAAAA,GACAm+D,cAAAA,GACA6B,SAzmBF,SAAkBvE,GAChB,OAAe,OAARA,IAAiByC,GAAYzC,IAA4B,OAApBA,EAAI/8D,cAAyBw/D,GAAYzC,EAAI/8D,cACpF2/D,GAAW5C,EAAI/8D,YAAYshE,WAAavE,EAAI/8D,YAAYshE,SAASvE,EACxE,EAumBEwE,WA3diB,SAACnC,GAClB,IAAMxV,EAAU,oBAChB,OAAOwV,IACgB,oBAAboC,UAA2BpC,aAAiBoC,UACpD99E,GAAS0O,KAAKgtE,KAAWxV,GACxB+V,GAAWP,EAAM17E,WAAa07E,EAAM17E,aAAekmE,EAExD,EAqdE6X,kBArlBF,SAA2B1E,GAOzB,MAL4B,qBAAhB54B,aAAiCA,YAAYC,OAC9CD,YAAYC,OAAO24B,GAElBA,GAASA,EAAI2E,QAAYjC,GAAc1C,EAAI2E,OAGzD,EA8kBEhC,SAAAA,GACAE,SAAAA,GACA+B,UAriBgB,SAAAvC,GAAK,OAAc,IAAVA,IAA4B,IAAVA,CAAe,EAsiB1DS,SAAAA,GACAC,cAAAA,GACAN,YAAAA,GACAO,OAAAA,GACAC,OAAAA,GACAC,OAAAA,GACAY,SAAAA,GACAlB,WAAAA,GACAiC,SAjfe,SAAC7E,GAAG,OAAK8C,GAAS9C,IAAQ4C,GAAW5C,EAAI8E,KAAK,EAkf7D1B,kBAAAA,GACAO,aAAAA,GACAR,WAAAA,GACAj9E,QAAAA,GACA6+E,MAzXF,SAASA,IAgBP,IAfA,IAAOC,GAAYvB,GAAiBhkE,OAASA,MAAQ,CAAC,GAA/CulE,SACDrf,EAAS,CAAC,EACVsf,EAAc,SAACjF,EAAKrkE,GACxB,IAAMupE,EAAYF,GAAYzB,GAAQ5d,EAAQhqD,IAAQA,EAClDonE,GAAcpd,EAAOuf,KAAenC,GAAc/C,GACpDra,EAAOuf,GAAaH,EAAMpf,EAAOuf,GAAYlF,GACpC+C,GAAc/C,GACvBra,EAAOuf,GAAaH,EAAM,CAAC,EAAG/E,GACrBz7D,GAAQy7D,GACjBra,EAAOuf,GAAalF,EAAI1/D,QAExBqlD,EAAOuf,GAAalF,CAExB,EAEStpE,EAAI,EAAGpO,EAAIT,UAAUC,OAAQ4O,EAAIpO,EAAGoO,IAC3C7O,UAAU6O,IAAMxQ,GAAQ2B,UAAU6O,GAAIuuE,GAExC,OAAOtf,CACT,EAsWEpmC,OA1Va,SAACziB,EAAGjB,EAAGlU,GAQpB,OAPAzB,GAAQ2V,GAAG,SAACmkE,EAAKrkE,GACXhU,GAAWi7E,GAAW5C,GACxBljE,EAAEnB,GAAOmnB,GAAKk9C,EAAKr4E,GAEnBmV,EAAEnB,GAAOqkE,CAEb,GAAG,CAACsD,YAP8Cz7E,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAP,CAAC,GAAdy7E,aAQvBxmE,CACT,EAkVE3V,KAtdW,SAACm7E,GAAG,OAAKA,EAAIn7E,KACxBm7E,EAAIn7E,OAASm7E,EAAIv7E,QAAQ,qCAAsC,GAAG,EAsdlEo+E,SA1Ue,SAACp3E,GAIhB,OAH8B,QAA1BA,EAAQq3E,WAAW,KACrBr3E,EAAUA,EAAQuS,MAAM,IAEnBvS,CACT,EAsUEs3E,SA3Te,SAACpiE,EAAaqiE,EAAkBt3C,EAAOi2C,GACtDhhE,EAAYhd,UAAYtB,OAAOO,OAAOogF,EAAiBr/E,UAAWg+E,GAClEhhE,EAAYhd,UAAUgd,YAAcA,EACpCte,OAAOkW,eAAeoI,EAAa,QAAS,CAC1C7Z,MAAOk8E,EAAiBr/E,YAE1B+nC,GAASrpC,OAAOod,OAAOkB,EAAYhd,UAAW+nC,EAChD,EAqTEu3C,aA1SmB,SAACC,EAAWC,EAASt6B,EAAQu6B,GAChD,IAAI13C,EACAt3B,EACAhN,EACEi8E,EAAS,CAAC,EAIhB,GAFAF,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IADA/uE,GADAs3B,EAAQrpC,OAAOmW,oBAAoB0qE,IACzB19E,OACH4O,KAAM,GACXhN,EAAOskC,EAAMt3B,GACPgvE,IAAcA,EAAWh8E,EAAM87E,EAAWC,IAAcE,EAAOj8E,KACnE+7E,EAAQ/7E,GAAQ87E,EAAU97E,GAC1Bi8E,EAAOj8E,IAAQ,GAGnB87E,GAAuB,IAAXr6B,GAAoBrmD,GAAe0gF,EACjD,OAASA,KAAer6B,GAAUA,EAAOq6B,EAAWC,KAAaD,IAAc7gF,OAAOsB,WAEtF,OAAOw/E,CACT,EAmRErD,OAAAA,GACAG,WAAAA,GACA/W,SA1Qe,SAAC8W,EAAKsD,EAAcC,GACnCvD,EAAM97E,OAAO87E,SACIh2E,IAAbu5E,GAA0BA,EAAWvD,EAAIx6E,UAC3C+9E,EAAWvD,EAAIx6E,QAEjB+9E,GAAYD,EAAa99E,OACzB,IAAMg+E,EAAYxD,EAAIr7E,QAAQ2+E,EAAcC,GAC5C,OAAsB,IAAfC,GAAoBA,IAAcD,CAC3C,EAmQEtmB,QAzPc,SAAC8iB,GACf,IAAKA,EAAO,OAAO,KACnB,GAAI99D,GAAQ89D,GAAQ,OAAOA,EAC3B,IAAI3rE,EAAI2rE,EAAMv6E,OACd,IAAK+6E,GAASnsE,GAAI,OAAO,KAEzB,IADA,IAAM6sD,EAAM,IAAIv9D,MAAM0Q,GACfA,KAAM,GACX6sD,EAAI7sD,GAAK2rE,EAAM3rE,GAEjB,OAAO6sD,CACT,EAgPEwiB,aAtNmB,SAAC/iB,EAAKkD,GAOzB,IANA,IAIIP,EAFE/jD,GAFYohD,GAAOA,EAAIlnD,OAAO8F,WAETvM,KAAK2tD,IAIxB2C,EAAS/jD,EAASipB,UAAY86B,EAAO18D,MAAM,CACjD,IAAM+8E,EAAOrgB,EAAOv8D,MACpB88D,EAAG7wD,KAAK2tD,EAAKgjB,EAAK,GAAIA,EAAK,GAC7B,CACF,EA4MEC,SAlMe,SAACC,EAAQ5D,GAIxB,IAHA,IAAI3tE,EACE4uD,EAAM,GAE4B,QAAhC5uD,EAAUuxE,EAAOC,KAAK7D,KAC5B/e,EAAIj9D,KAAKqO,GAGX,OAAO4uD,CACT,EA0LEsgB,WAAAA,GACAxkE,eAAAA,GACA+mE,WAAY/mE,GACZ0kE,kBAAAA,GACAsC,cAnJoB,SAACrjB,GACrB+gB,GAAkB/gB,GAAK,SAACpnD,EAAY3H,GAElC,GAAI2uE,GAAW5f,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAU/7D,QAAQgN,GAC/D,OAAO,EAGT,IAAM7K,EAAQ45D,EAAI/uD,GAEb2uE,GAAWx5E,KAEhBwS,EAAW/L,YAAa,EAEpB,aAAc+L,EAChBA,EAAWjM,UAAW,EAInBiM,EAAWzT,MACdyT,EAAWzT,IAAM,WACf,MAAM8Z,MAAM,qCAAwChO,EAAO,IAC7D,GAEJ,GACF,EA4HEqyE,YA1HkB,SAACC,EAAeC,GAClC,IAAMxjB,EAAM,CAAC,EAEPmZ,EAAS,SAAC5Y,GACdA,EAAIr9D,SAAQ,SAAAkD,GACV45D,EAAI55D,IAAS,CACf,GACF,EAIA,OAFAmb,GAAQgiE,GAAiBpK,EAAOoK,GAAiBpK,EAAO31E,OAAO+/E,GAAetmE,MAAMumE,IAE7ExjB,CACT,EA+GEyjB,YA3LkB,SAAAnE,GAClB,OAAOA,EAAI77E,cAAcM,QAAQ,yBAC/B,SAAkBsV,EAAGqqE,EAAIC,GACvB,OAAOD,EAAGtmE,cAAgBumE,CAC5B,GAEJ,EAsLEC,KA9GW,WAAO,EA+GlBC,eA7GqB,SAACz9E,EAAOwa,GAE7B,OADAxa,GAASA,EACF60D,OAAOC,SAAS90D,GAASA,EAAQwa,CAC1C,EA2GE2/D,QAAAA,GACA/5B,OAAQg6B,GACRC,iBAAAA,GACAY,SAAAA,GACAyC,eAnGqB,WAGrB,IAHqE,IAA/CnsC,EAAI9yC,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAG,GAAIk/E,EAAQl/E,UAAAC,OAAA,QAAAwE,IAAAzE,UAAA,GAAAA,UAAA,GAAGw8E,GAASC,YACjDhC,EAAM,GACHx6E,EAAUi/E,EAAVj/E,OACA6yC,KACL2nC,GAAOyE,EAASr4D,KAAKkU,SAAW96B,EAAO,GAGzC,OAAOw6E,CACT,EA4FE0E,oBAnFF,SAA6B3E,GAC3B,SAAUA,GAASO,GAAWP,EAAM4E,SAAyC,aAA9B5E,EAAMvmE,OAAOytC,cAA+B84B,EAAMvmE,OAAO8F,UAC1G,EAkFEslE,aAhFmB,SAAClkB,GACpB,IAAM9gD,EAAQ,IAAIlc,MAAM,IA2BxB,OAzBc,SAARmhF,EAASr9D,EAAQpT,GAErB,GAAIosE,GAASh5D,GAAS,CACpB,GAAI5H,EAAMjb,QAAQ6iB,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxB5H,EAAMxL,GAAKoT,EACX,IAAMQ,EAAS/F,GAAQuF,GAAU,GAAK,CAAC,EASvC,OAPA5jB,GAAQ4jB,GAAQ,SAAC1gB,EAAOuS,GACtB,IAAMyrE,EAAeD,EAAM/9E,EAAOsN,EAAI,IACrC+rE,GAAY2E,KAAkB98D,EAAO3O,GAAOyrE,EAC/C,IAEAllE,EAAMxL,QAAKpK,EAEJge,CACT,CACF,CAEA,OAAOR,CACT,CAEOq9D,CAAMnkB,EAAK,EACpB,GCnoBA,SAASqkB,GAAW1xC,EAAS7c,EAAMwuD,EAAQC,EAASC,GAClDvlE,MAAM5M,KAAKoK,MAEPwC,MAAMwlE,kBACRxlE,MAAMwlE,kBAAkBhoE,KAAMA,KAAKwD,aAEnCxD,KAAKyC,OAAS,IAAID,OAASC,MAG7BzC,KAAKk2B,QAAUA,EACfl2B,KAAKxL,KAAO,aACZ6kB,IAASrZ,KAAKqZ,KAAOA,GACrBwuD,IAAW7nE,KAAK6nE,OAASA,GACzBC,IAAY9nE,KAAK8nE,QAAUA,GAC3BC,IAAa/nE,KAAK+nE,SAAWA,EAC/B,CAEAE,GAAMrC,SAASgC,GAAYplE,MAAO,CAChC0lE,OAAQ,WACN,MAAO,CAELhyC,QAASl2B,KAAKk2B,QACd1hC,KAAMwL,KAAKxL,KAEX25C,YAAanuC,KAAKmuC,YAClB/xB,OAAQpc,KAAKoc,OAEb+rD,SAAUnoE,KAAKmoE,SACfC,WAAYpoE,KAAKooE,WACjBC,aAAcroE,KAAKqoE,aACnB5lE,MAAOzC,KAAKyC,MAEZolE,OAAQI,GAAMR,aAAaznE,KAAK6nE,QAChCxuD,KAAMrZ,KAAKqZ,KACX62C,OAAQlwD,KAAK+nE,UAAY/nE,KAAK+nE,SAAS7X,OAASlwD,KAAK+nE,SAAS7X,OAAS,KAE3E,IAGF,IAAM1pE,GAAYohF,GAAWphF,UACvBg+E,GAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA/9E,SAAQ,SAAA4yB,GACRmrD,GAAYnrD,GAAQ,CAAC1vB,MAAO0vB,EAC9B,IAEAn0B,OAAOgrD,iBAAiB03B,GAAYpD,IACpCt/E,OAAOkW,eAAe5U,GAAW,eAAgB,CAACmD,OAAO,IAGzDi+E,GAAWjzE,KAAO,SAAC2hC,EAAOjd,EAAMwuD,EAAQC,EAASC,EAAUO,GACzD,IAAMC,EAAarjF,OAAOO,OAAOe,IAgBjC,OAdAyhF,GAAMnC,aAAaxvC,EAAOiyC,GAAY,SAAgBhlB,GACpD,OAAOA,IAAQ/gD,MAAMhc,SACvB,IAAG,SAAAyD,GACD,MAAgB,iBAATA,CACT,IAEA29E,GAAWhyE,KAAK2yE,EAAYjyC,EAAMJ,QAAS7c,EAAMwuD,EAAQC,EAASC,GAElEQ,EAAWC,MAAQlyC,EAEnBiyC,EAAW/zE,KAAO8hC,EAAM9hC,KAExB8zE,GAAepjF,OAAOod,OAAOimE,EAAYD,GAElCC,CACT,EAEA,UClGA,QCaA,SAASE,GAAY7F,GACnB,OAAOqF,GAAM3E,cAAcV,IAAUqF,GAAMnjE,QAAQ89D,EACrD,CASA,SAAS8F,GAAexsE,GACtB,OAAO+rE,GAAMlc,SAAS7vD,EAAK,MAAQA,EAAI2E,MAAM,GAAI,GAAK3E,CACxD,CAWA,SAASysE,GAAUhhB,EAAMzrD,EAAK0sE,GAC5B,OAAKjhB,EACEA,EAAK93D,OAAOqM,GAAK8xC,KAAI,SAAc66B,EAAO5xE,GAG/C,OADA4xE,EAAQH,GAAeG,IACfD,GAAQ3xE,EAAI,IAAM4xE,EAAQ,IAAMA,CAC1C,IAAG55C,KAAK25C,EAAO,IAAM,IALH1sE,CAMpB,CAaA,IAAM4sE,GAAab,GAAMnC,aAAamC,GAAO,CAAC,EAAG,MAAM,SAAgBh+E,GACrE,MAAO,WAAWpC,KAAKoC,EACzB,IA8JA,OArIA,SAAoBs5D,EAAKwlB,EAAU/jE,GACjC,IAAKijE,GAAM5E,SAAS9f,GAClB,MAAM,IAAIv7D,UAAU,4BAItB+gF,EAAWA,GAAY,IAAKC,IAAoBhE,UAYhD,IAAMiE,GATNjkE,EAAUijE,GAAMnC,aAAa9gE,EAAS,CACpCikE,YAAY,EACZL,MAAM,EACNM,SAAS,IACR,GAAO,SAAiBC,EAAQ9+D,GAEjC,OAAQ49D,GAAMjF,YAAY34D,EAAO8+D,GACnC,KAE2BF,WAErBG,EAAUpkE,EAAQokE,SAAWC,EAC7BT,EAAO5jE,EAAQ4jE,KACfM,EAAUlkE,EAAQkkE,QAElBI,GADQtkE,EAAQukE,MAAwB,qBAATA,MAAwBA,OACpCtB,GAAMV,oBAAoBwB,GAEnD,IAAKd,GAAM9E,WAAWiG,GACpB,MAAM,IAAIphF,UAAU,8BAGtB,SAASwhF,EAAa7/E,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAIs+E,GAAM1E,OAAO55E,GACf,OAAOA,EAAM8/E,cAGf,IAAKH,GAAWrB,GAAMxE,OAAO95E,GAC3B,MAAM,IAAIi+E,GAAW,gDAGvB,OAAIK,GAAMhF,cAAct5E,IAAUs+E,GAAM/D,aAAav6E,GAC5C2/E,GAA2B,oBAATC,KAAsB,IAAIA,KAAK,CAAC5/E,IAAU+/E,OAAO/0E,KAAKhL,GAG1EA,CACT,CAYA,SAAS0/E,EAAe1/E,EAAOuS,EAAKyrD,GAClC,IAAI7D,EAAMn6D,EAEV,GAAIA,IAAUg+D,GAAyB,kBAAVh+D,EAC3B,GAAIs+E,GAAMlc,SAAS7vD,EAAK,MAEtBA,EAAM+sE,EAAa/sE,EAAMA,EAAI2E,MAAM,GAAI,GAEvClX,EAAQ+5C,KAAKC,UAAUh6C,QAClB,GACJs+E,GAAMnjE,QAAQnb,IAnGvB,SAAqBm6D,GACnB,OAAOmkB,GAAMnjE,QAAQg/C,KAASA,EAAIrZ,KAAKg+B,GACzC,CAiGiCkB,CAAYhgF,KACnCs+E,GAAMvE,WAAW/5E,IAAUs+E,GAAMlc,SAAS7vD,EAAK,SAAW4nD,EAAMmkB,GAAMnoB,QAAQn2D,IAYhF,OATAuS,EAAMwsE,GAAexsE,GAErB4nD,EAAIr9D,SAAQ,SAAc27C,EAAIhT,IAC1B64C,GAAMjF,YAAY5gC,IAAc,OAAPA,GAAgB2mC,EAASvB,QAEtC,IAAZ0B,EAAmBP,GAAU,CAACzsE,GAAMkzB,EAAOw5C,GAAqB,OAAZM,EAAmBhtE,EAAMA,EAAM,KACnFstE,EAAapnC,GAEjB,KACO,EAIX,QAAIqmC,GAAY9+E,KAIhBo/E,EAASvB,OAAOmB,GAAUhhB,EAAMzrD,EAAK0sE,GAAOY,EAAa7/E,KAElD,EACT,CAEA,IAAM8Y,EAAQ,GAERmnE,EAAiB1kF,OAAOod,OAAOwmE,GAAY,CAC/CO,eAAAA,EACAG,aAAAA,EACAf,YAAAA,KAyBF,IAAKR,GAAM5E,SAAS9f,GAClB,MAAM,IAAIv7D,UAAU,0BAKtB,OA5BA,SAAS6hF,EAAMlgF,EAAOg+D,GACpB,IAAIsgB,GAAMjF,YAAYr5E,GAAtB,CAEA,IAA8B,IAA1B8Y,EAAMjb,QAAQmC,GAChB,MAAM6Y,MAAM,kCAAoCmlD,EAAK14B,KAAK,MAG5DxsB,EAAM5b,KAAK8C,GAEXs+E,GAAMxhF,QAAQkD,GAAO,SAAcy4C,EAAIlmC,IAKtB,OAJE+rE,GAAMjF,YAAY5gC,IAAc,OAAPA,IAAgBgnC,EAAQxzE,KAChEmzE,EAAU3mC,EAAI6lC,GAAM/E,SAAShnE,GAAOA,EAAIxU,OAASwU,EAAKyrD,EAAMiiB,KAI5DC,EAAMznC,EAAIulB,EAAOA,EAAK93D,OAAOqM,GAAO,CAACA,GAEzC,IAEAuG,EAAM9b,KAlB8B,CAmBtC,CAMAkjF,CAAMtmB,GAECwlB,CACT,EC5MA,SAASe,GAAOjH,GACd,IAAMkH,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAO5qE,mBAAmB0jE,GAAKv7E,QAAQ,oBAAoB,SAAkBF,GAC3E,OAAO2iF,EAAQ3iF,EACjB,GACF,CAUA,SAAS4iF,GAAqB/c,EAAQjoD,GACpChF,KAAKiqE,OAAS,GAEdhd,GAAUid,GAAWjd,EAAQjtD,KAAMgF,EACrC,CAEA,IAAMxe,GAAYwjF,GAAqBxjF,UAEvCA,GAAUghF,OAAS,SAAgBhzE,EAAM7K,GACvCqW,KAAKiqE,OAAOpjF,KAAK,CAAC2N,EAAM7K,GAC1B,EAEAnD,GAAUU,SAAW,SAAkBijF,GACrC,IAAMC,EAAUD,EAAU,SAASxgF,GACjC,OAAOwgF,EAAQv0E,KAAKoK,KAAMrW,EAAOmgF,GACnC,EAAIA,GAEJ,OAAO9pE,KAAKiqE,OAAOj8B,KAAI,SAAcu4B,GACnC,OAAO6D,EAAQ7D,EAAK,IAAM,IAAM6D,EAAQ7D,EAAK,GAC/C,GAAG,IAAIt3C,KAAK,IACd,EAEA,UC5CA,SAAS66C,GAAOvJ,GACd,OAAOphE,mBAAmBohE,GACxBj5E,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAAS+iF,GAAS3tD,EAAKuwC,EAAQjoD,GAE5C,IAAKioD,EACH,OAAOvwC,EAGT,IAII4tD,EAJEF,EAAUplE,GAAWA,EAAQ8kE,QAAUA,GAEvCS,EAAcvlE,GAAWA,EAAQwlE,UAYvC,GAPEF,EADEC,EACiBA,EAAYtd,EAAQjoD,GAEpBijE,GAAMtE,kBAAkB1W,GACzCA,EAAO/lE,WACP,IAAI8iF,GAAqB/c,EAAQjoD,GAAS9d,SAASkjF,GAGjC,CACpB,IAAMK,EAAgB/tD,EAAIl1B,QAAQ,MAEX,IAAnBijF,IACF/tD,EAAMA,EAAI7b,MAAM,EAAG4pE,IAErB/tD,KAA8B,IAAtBA,EAAIl1B,QAAQ,KAAc,IAAM,KAAO8iF,CACjD,CAEA,OAAO5tD,CACT,CC5DkC,IAE5BguD,GAAkB,WACtB,SAAAA,IAAc3a,EAAA,KAAA2a,GACZ1qE,KAAK2qE,SAAW,EAClB,CA4DC,OA1DD3a,EAAA0a,EAAA,EAAAxuE,IAAA,MAAAvS,MAQA,SAAIihF,EAAWC,EAAU7lE,GAOvB,OANAhF,KAAK2qE,SAAS9jF,KAAK,CACjB+jF,UAAAA,EACAC,SAAAA,EACAC,cAAa9lE,GAAUA,EAAQ8lE,YAC/BC,QAAS/lE,EAAUA,EAAQ+lE,QAAU,OAEhC/qE,KAAK2qE,SAAStiF,OAAS,CAChC,GAEA,CAAA6T,IAAA,QAAAvS,MAOA,SAAM2pB,GACAtT,KAAK2qE,SAASr3D,KAChBtT,KAAK2qE,SAASr3D,GAAM,KAExB,GAEA,CAAApX,IAAA,QAAAvS,MAKA,WACMqW,KAAK2qE,WACP3qE,KAAK2qE,SAAW,GAEpB,GAEA,CAAAzuE,IAAA,UAAAvS,MAUA,SAAQ88D,GACNwhB,GAAMxhF,QAAQuZ,KAAK2qE,UAAU,SAAwBjuE,GACzC,OAANA,GACF+pD,EAAG/pD,EAEP,GACF,KAACguE,CAAA,CA/DqB,GAkExB,MCpEA,IACEM,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCgDvB,IACE5T,WAAW,EACX6T,QAAS,CACPC,gBCrDsC,qBAApBA,gBAAkCA,gBAAkBpB,GDsDtEhF,SEvD+B,qBAAbA,SAA2BA,SAAW,KFwDxDuE,KGxD2B,qBAATA,KAAuBA,KAAO,MH0DlD8B,qBAvC4B,WAC5B,IAAIC,EACJ,OAAyB,qBAAdnqB,WACyB,iBAAjCmqB,EAAUnqB,UAAUmqB,UACT,iBAAZA,GACY,OAAZA,KAKuB,qBAAX1/E,QAA8C,qBAAbG,SACjD,CAX8B,GAwC5Bw/E,8BAhB+B,qBAAtBC,mBAEPxhC,gBAAgBwhC,mBACc,oBAAvBxhC,KAAKyhC,cAcdC,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SI6BtD,OA3CA,SAAwB3C,GACtB,SAAS4C,EAAUhkB,EAAMh+D,EAAOkhB,EAAQukB,GACtC,IAAI56B,EAAOmzD,EAAKv4B,KACVw8C,EAAeptB,OAAOC,UAAUjqD,GAChCq3E,EAASz8C,GAASu4B,EAAKt/D,OAG7B,OAFAmM,GAAQA,GAAQyzE,GAAMnjE,QAAQ+F,GAAUA,EAAOxiB,OAASmM,EAEpDq3E,GACE5D,GAAMtB,WAAW97D,EAAQrW,GAC3BqW,EAAOrW,GAAQ,CAACqW,EAAOrW,GAAO7K,GAE9BkhB,EAAOrW,GAAQ7K,GAGTiiF,IAGL/gE,EAAOrW,IAAUyzE,GAAM5E,SAASx4D,EAAOrW,MAC1CqW,EAAOrW,GAAQ,IAGFm3E,EAAUhkB,EAAMh+D,EAAOkhB,EAAOrW,GAAO46B,IAEtC64C,GAAMnjE,QAAQ+F,EAAOrW,MACjCqW,EAAOrW,GA5Cb,SAAuBsvD,GACrB,IAEI7sD,EAEAiF,EAJEqnD,EAAM,CAAC,EACPxnD,EAAO7W,OAAO6W,KAAK+nD,GAEnBE,EAAMjoD,EAAK1T,OAEjB,IAAK4O,EAAI,EAAGA,EAAI+sD,EAAK/sD,IAEnBssD,EADArnD,EAAMH,EAAK9E,IACA6sD,EAAI5nD,GAEjB,OAAOqnD,CACT,CAiCqBuoB,CAAcjhE,EAAOrW,MAG9Bo3E,EACV,CAEA,GAAI3D,GAAMlD,WAAWgE,IAAad,GAAM9E,WAAW4F,EAAS9jF,SAAU,CACpE,IAAMs+D,EAAM,CAAC,EAMb,OAJA0kB,GAAM3B,aAAayC,GAAU,SAACv0E,EAAM7K,GAClCgiF,EAvEN,SAAuBn3E,GAKrB,OAAOyzE,GAAMzB,SAAS,gBAAiBhyE,GAAMw5C,KAAI,SAAA5mD,GAC/C,MAAoB,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,EACpD,GACF,CA+DgB2kF,CAAcv3E,GAAO7K,EAAO45D,EAAK,EAC7C,IAEOA,CACT,CAEA,OAAO,IACT,EC/EMyoB,GAAuB,CAC3B,oBAAgBn/E,GA4BlB,IAAMo/E,GAAW,CAEfC,aAAcC,GAEdC,QAAS,CAAC,MAAO,QAEjBC,iBAAkB,CAAC,SAA0B11E,EAAM21E,GACjD,IAiCI5I,EAjCE6I,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAY/kF,QAAQ,qBAAuB,EAChEklF,EAAkBzE,GAAM5E,SAAS1sE,GAQvC,GANI+1E,GAAmBzE,GAAM7D,WAAWztE,KACtCA,EAAO,IAAIquE,SAASruE,IAGHsxE,GAAMlD,WAAWpuE,GAGlC,OAAK81E,GAGEA,EAAqB/oC,KAAKC,UAAUgpC,GAAeh2E,IAFjDA,EAKX,GAAIsxE,GAAMhF,cAActsE,IACtBsxE,GAAMnD,SAASnuE,IACfsxE,GAAM7C,SAASzuE,IACfsxE,GAAMzE,OAAO7sE,IACbsxE,GAAMxE,OAAO9sE,GAEb,OAAOA,EAET,GAAIsxE,GAAMhD,kBAAkBtuE,GAC1B,OAAOA,EAAKuuE,OAEd,GAAI+C,GAAMtE,kBAAkBhtE,GAE1B,OADA21E,EAAQM,eAAe,mDAAmD,GACnEj2E,EAAKzP,WAKd,GAAIwlF,EAAiB,CACnB,GAAIH,EAAY/kF,QAAQ,sCAAwC,EAC9D,OC7EO,SAA0BmP,EAAMqO,GAC7C,OAAOklE,GAAWvzE,EAAM,IAAIk2E,GAAAA,QAAAA,gBAAoC3nF,OAAOod,OAAO,CAC5E8mE,QAAS,SAASz/E,EAAOuS,EAAKyrD,EAAMmlB,GAClC,OAAID,GAAAA,QAAmB5E,GAAMnD,SAASn7E,IACpCqW,KAAKwnE,OAAOtrE,EAAKvS,EAAMzC,SAAS,YACzB,GAGF4lF,EAAQzD,eAAezjF,MAAMoa,KAAM5X,UAC5C,GACC4c,GACL,CDkEe+nE,CAAiBp2E,EAAMqJ,KAAKgtE,gBAAgB9lF,WAGrD,IAAKw8E,EAAauE,GAAMvE,WAAW/sE,KAAU41E,EAAY/kF,QAAQ,wBAA0B,EAAG,CAC5F,IAAMylF,EAAYjtE,KAAKktE,KAAOltE,KAAKktE,IAAIlI,SAEvC,OAAOkF,GACLxG,EAAa,CAAC,UAAW/sE,GAAQA,EACjCs2E,GAAa,IAAIA,EACjBjtE,KAAKgtE,eAET,CACF,CAEA,OAAIN,GAAmBD,GACrBH,EAAQM,eAAe,oBAAoB,GA1EjD,SAAyBO,EAAUC,EAAQjD,GACzC,GAAIlC,GAAM/E,SAASiK,GACjB,IAEE,OADCC,GAAU1pC,KAAKouB,OAAOqb,GAChBlF,GAAMvgF,KAAKylF,EACpB,CAAE,MAAOrjF,GACP,GAAe,gBAAXA,EAAE0K,KACJ,MAAM1K,CAEV,CAGF,OAAQqgF,GAAWzmC,KAAKC,WAAWwpC,EACrC,CA8DaE,CAAgB12E,IAGlBA,CACT,GAEA22E,kBAAmB,CAAC,SAA2B32E,GAC7C,IAAMu1E,EAAelsE,KAAKksE,cAAgBD,GAASC,aAC7CjB,EAAoBiB,GAAgBA,EAAajB,kBACjDsC,EAAsC,SAAtBvtE,KAAKwtE,aAE3B,GAAI72E,GAAQsxE,GAAM/E,SAASvsE,KAAWs0E,IAAsBjrE,KAAKwtE,cAAiBD,GAAgB,CAChG,IACME,IADoBvB,GAAgBA,EAAalB,oBACPuC,EAEhD,IACE,OAAO7pC,KAAKouB,MAAMn7D,EACpB,CAAE,MAAO7M,GACP,GAAI2jF,EAAmB,CACrB,GAAe,gBAAX3jF,EAAE0K,KACJ,MAAMozE,GAAAA,KAAgB99E,EAAG89E,GAAAA,iBAA6B5nE,KAAM,KAAMA,KAAK+nE,UAEzE,MAAMj+E,CACR,CACF,CACF,CAEA,OAAO6M,CACT,GAMA+2E,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhBZ,IAAK,CACHlI,SAAU6H,GAAAA,QAAAA,SACVtD,KAAMsD,GAAAA,QAAAA,MAGRkB,eAAgB,SAAwB7d,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAoc,QAAS,CACP0B,OAAQ,CACN,OAAU,uCAKhB/F,GAAMxhF,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6Bo3E,GACpEoO,GAASK,QAAQzO,GAAU,CAAC,CAC9B,IAEAoK,GAAMxhF,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+Bo3E,GACrEoO,GAASK,QAAQzO,GAAUoK,GAAM3C,MAAM0G,GACzC,IAEA,UE/JMiC,GAAoBhG,GAAMpB,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtBqH,GAAa7xE,OAAO,aAE1B,SAAS8xE,GAAgBC,GACvB,OAAOA,GAAUrnF,OAAOqnF,GAAQ1mF,OAAOV,aACzC,CAEA,SAASqnF,GAAe1kF,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGFs+E,GAAMnjE,QAAQnb,GAASA,EAAMqkD,IAAIqgC,IAAkBtnF,OAAO4C,EACnE,CAkBA,SAAS2kF,GAAiBpjD,EAASvhC,EAAOykF,EAAQ1iC,EAAQ6iC,GACxD,OAAItG,GAAM9E,WAAWz3B,GACZA,EAAO91C,KAAKoK,KAAMrW,EAAOykF,IAG9BG,IACF5kF,EAAQykF,GAGLnG,GAAM/E,SAASv5E,GAEhBs+E,GAAM/E,SAASx3B,IACiB,IAA3B/hD,EAAMnC,QAAQkkD,GAGnBu8B,GAAM5D,SAAS34B,GACVA,EAAO7jD,KAAK8B,QADrB,OANA,EASF,CAoBC,IAEK6kF,GAAY,SAAAC,EAAAC,GAChB,SAAAF,EAAYlC,GAASvc,EAAA,KAAAye,GACnBlC,GAAWtsE,KAAKtX,IAAI4jF,EACtB,CA2MC,OA3MAtc,EAAAwe,EAAA,EAAAtyE,IAAA,MAAAvS,MAED,SAAIykF,EAAQO,EAAgBC,GAC1B,IAAM5kC,EAAOhqC,KAEb,SAAS6uE,EAAUC,EAAQC,EAASC,GAClC,IAAMC,EAAUd,GAAgBY,GAEhC,IAAKE,EACH,MAAM,IAAIzsE,MAAM,0CAGlB,IAAMtG,EAAM+rE,GAAMnE,QAAQ95B,EAAMilC,KAE5B/yE,QAAqBrP,IAAdm9C,EAAK9tC,KAAmC,IAAb8yE,QAAmCniF,IAAbmiF,IAAwC,IAAdhlC,EAAK9tC,MACzF8tC,EAAK9tC,GAAO6yE,GAAWV,GAAeS,GAE1C,CAEA,IAAMI,EAAa,SAAC5C,EAAS0C,GAAQ,OACnC/G,GAAMxhF,QAAQ6lF,GAAS,SAACwC,EAAQC,GAAO,OAAKF,EAAUC,EAAQC,EAASC,EAAS,GAAC,EAUnF,OARI/G,GAAM3E,cAAc8K,IAAWA,aAAkBpuE,KAAKwD,YACxD0rE,EAAWd,EAAQO,GACX1G,GAAM/E,SAASkL,KAAYA,EAASA,EAAO1mF,UAtEhD,gBAAgBG,KAsE8DumF,EAtErD1mF,QAuE5BwnF,ED5EN,SAAeC,GACb,IACIjzE,EACAqkE,EACAtpE,EAHEm4E,EAAS,CAAC,EAyBhB,OApBAD,GAAcA,EAAW3uE,MAAM,MAAM/Z,SAAQ,SAAgB4oF,GAC3Dp4E,EAAIo4E,EAAK7nF,QAAQ,KACjB0U,EAAMmzE,EAAK/lE,UAAU,EAAGrS,GAAGvP,OAAOV,cAClCu5E,EAAM8O,EAAK/lE,UAAUrS,EAAI,GAAGvP,QAEvBwU,GAAQkzE,EAAOlzE,IAAQ+xE,GAAkB/xE,KAIlC,eAARA,EACEkzE,EAAOlzE,GACTkzE,EAAOlzE,GAAKrV,KAAK05E,GAEjB6O,EAAOlzE,GAAO,CAACqkE,GAGjB6O,EAAOlzE,GAAOkzE,EAAOlzE,GAAOkzE,EAAOlzE,GAAO,KAAOqkE,EAAMA,EAE3D,IAEO6O,CACR,CCiDgBE,CAAalB,GAASO,GAEvB,MAAVP,GAAkBS,EAAUF,EAAgBP,EAAQQ,GAG/C5uE,IACT,GAAC,CAAA9D,IAAA,MAAAvS,MAED,SAAIykF,EAAQhB,GAGV,GAFAgB,EAASD,GAAgBC,GAEb,CACV,IAAMlyE,EAAM+rE,GAAMnE,QAAQ9jE,KAAMouE,GAEhC,GAAIlyE,EAAK,CACP,IAAMvS,EAAQqW,KAAK9D,GAEnB,IAAKkxE,EACH,OAAOzjF,EAGT,IAAe,IAAXyjF,EACF,OA1GV,SAAqBvK,GAKnB,IAJA,IAEIz7E,EAFEmoF,EAASrqF,OAAOO,OAAO,MACvB+pF,EAAW,mCAGTpoF,EAAQooF,EAAS9I,KAAK7D,IAC5B0M,EAAOnoF,EAAM,IAAMA,EAAM,GAG3B,OAAOmoF,CACT,CAgGiBE,CAAY9lF,GAGrB,GAAIs+E,GAAM9E,WAAWiK,GACnB,OAAOA,EAAOx3E,KAAKoK,KAAMrW,EAAOuS,GAGlC,GAAI+rE,GAAM5D,SAAS+I,GACjB,OAAOA,EAAO1G,KAAK/8E,GAGrB,MAAM,IAAI3B,UAAU,yCACtB,CACF,CACF,GAAC,CAAAkU,IAAA,MAAAvS,MAED,SAAIykF,EAAQ1gB,GAGV,GAFA0gB,EAASD,GAAgBC,GAEb,CACV,IAAMlyE,EAAM+rE,GAAMnE,QAAQ9jE,KAAMouE,GAEhC,SAAUlyE,QAAqBrP,IAAdmT,KAAK9D,IAAwBwxD,IAAW4gB,GAAiBtuE,EAAMA,KAAK9D,GAAMA,EAAKwxD,GAClG,CAEA,OAAO,CACT,GAAC,CAAAxxD,IAAA,SAAAvS,MAED,SAAOykF,EAAQ1gB,GACb,IAAM1jB,EAAOhqC,KACT0vE,GAAU,EAEd,SAASC,EAAaZ,GAGpB,GAFAA,EAAUZ,GAAgBY,GAEb,CACX,IAAM7yE,EAAM+rE,GAAMnE,QAAQ95B,EAAM+kC,IAE5B7yE,GAASwxD,IAAW4gB,GAAiBtkC,EAAMA,EAAK9tC,GAAMA,EAAKwxD,YACtD1jB,EAAK9tC,GAEZwzE,GAAU,EAEd,CACF,CAQA,OANIzH,GAAMnjE,QAAQspE,GAChBA,EAAO3nF,QAAQkpF,GAEfA,EAAavB,GAGRsB,CACT,GAAC,CAAAxzE,IAAA,QAAAvS,MAED,SAAM+jE,GAKJ,IAJA,IAAM3xD,EAAO7W,OAAO6W,KAAKiE,MACrB/I,EAAI8E,EAAK1T,OACTqnF,GAAU,EAEPz4E,KAAK,CACV,IAAMiF,EAAMH,EAAK9E,GACby2D,IAAW4gB,GAAiBtuE,EAAMA,KAAK9D,GAAMA,EAAKwxD,GAAS,YACtD1tD,KAAK9D,GACZwzE,GAAU,EAEd,CAEA,OAAOA,CACT,GAAC,CAAAxzE,IAAA,YAAAvS,MAED,SAAUimF,GACR,IAAM5lC,EAAOhqC,KACPssE,EAAU,CAAC,EAsBjB,OApBArE,GAAMxhF,QAAQuZ,MAAM,SAACrW,EAAOykF,GAC1B,IAAMlyE,EAAM+rE,GAAMnE,QAAQwI,EAAS8B,GAEnC,GAAIlyE,EAGF,OAFA8tC,EAAK9tC,GAAOmyE,GAAe1kF,eACpBqgD,EAAKokC,GAId,IAAMyB,EAAaD,EA1JzB,SAAsBxB,GACpB,OAAOA,EAAO1mF,OACXV,cAAcM,QAAQ,mBAAmB,SAAC4V,EAAGknB,EAAMy+C,GAClD,OAAOz+C,EAAKzjB,cAAgBkiE,CAC9B,GACJ,CAqJkCiN,CAAa1B,GAAUrnF,OAAOqnF,GAAQ1mF,OAE9DmoF,IAAezB,UACVpkC,EAAKokC,GAGdpkC,EAAK6lC,GAAcxB,GAAe1kF,GAElC2iF,EAAQuD,IAAc,CACxB,IAEO7vE,IACT,GAAC,CAAA9D,IAAA,SAAAvS,MAED,WAAmB,QAAAomF,EAAA5nF,EAAAC,UAAAC,OAAT2nF,EAAO,IAAAzpF,MAAA4B,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAP0nF,EAAO1nF,GAAAF,UAAAE,GACf,OAAOynF,EAAA/vE,KAAKwD,aAAY3T,OAAMjK,MAAAmqF,EAAA,CAAC/vE,MAAInQ,OAAKmgF,GAC1C,GAAC,CAAA9zE,IAAA,SAAAvS,MAED,SAAOsmF,GACL,IAAM1sB,EAAMr+D,OAAOO,OAAO,MAM1B,OAJAwiF,GAAMxhF,QAAQuZ,MAAM,SAACrW,EAAOykF,GACjB,MAATzkF,IAA2B,IAAVA,IAAoB45D,EAAI6qB,GAAU6B,GAAahI,GAAMnjE,QAAQnb,GAASA,EAAMslC,KAAK,MAAQtlC,EAC5G,IAEO45D,CACT,GAAC,CAAArnD,IAEAG,OAAO8F,SAFPxY,MAED,WACE,OAAOzE,OAAOD,QAAQ+a,KAAKkoE,UAAU7rE,OAAO8F,WAC9C,GAAC,CAAAjG,IAAA,WAAAvS,MAED,WACE,OAAOzE,OAAOD,QAAQ+a,KAAKkoE,UAAUl6B,KAAI,SAAAtoD,GAAA,IAAA01E,EAAA1xE,EAAAhE,EAAA,GAAe,OAAP01E,EAAA,GAAsB,KAAfA,EAAA,EAA2B,IAAEnsC,KAAK,KAC5F,GAAC,CAAA/yB,IAEIG,OAAOytC,YAFX3/C,IAED,WACE,MAAO,cACT,IAAC,EAAA+R,IAAA,OAAAvS,MAED,SAAYi5E,GACV,OAAOA,aAAiB5iE,KAAO4iE,EAAQ,IAAI5iE,KAAK4iE,EAClD,GAAC,CAAA1mE,IAAA,SAAAvS,MAED,SAAcu+C,GACqB,IAAjC,IAAMgoC,EAAW,IAAIlwE,KAAKkoC,GAAO3/C,EAAAH,UAAAC,OADX2nF,EAAO,IAAAzpF,MAAAgC,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAPwnF,EAAOxnF,EAAA,GAAAJ,UAAAI,GAK7B,OAFAwnF,EAAQvpF,SAAQ,SAACokB,GAAM,OAAKqlE,EAASxnF,IAAImiB,EAAO,IAEzCqlE,CACT,GAAC,CAAAh0E,IAAA,WAAAvS,MAED,SAAgBykF,GACd,IAIM+B,GAJYnwE,KAAKkuE,IAAeluE,KAAKkuE,IAAc,CACvDiC,UAAW,CAAC,IAGcA,UACtB3pF,EAAYwZ,KAAKxZ,UAEvB,SAAS4pF,EAAerB,GACtB,IAAME,EAAUd,GAAgBY,GAE3BoB,EAAUlB,MAlNrB,SAAwB1rB,EAAK6qB,GAC3B,IAAMiC,EAAepI,GAAMjB,YAAY,IAAMoH,GAE7C,CAAC,MAAO,MAAO,OAAO3nF,SAAQ,SAAAu4E,GAC5B95E,OAAOkW,eAAemoD,EAAKyb,EAAaqR,EAAc,CACpD1mF,MAAO,SAAS2mF,EAAMC,EAAMC,GAC1B,OAAOxwE,KAAKg/D,GAAYppE,KAAKoK,KAAMouE,EAAQkC,EAAMC,EAAMC,EACzD,EACArgF,cAAc,GAElB,GACF,CAwMQsgF,CAAejqF,EAAWuoF,GAC1BoB,EAAUlB,IAAW,EAEzB,CAIA,OAFAhH,GAAMnjE,QAAQspE,GAAUA,EAAO3nF,QAAQ2pF,GAAkBA,EAAehC,GAEjEpuE,IACT,KAACwuE,CAAA,CA9Me,GAiNlBA,GAAakC,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAEpGzI,GAAMrB,cAAc4H,GAAahoF,WACjCyhF,GAAMrB,cAAc4H,IAEpB,UCnRe,SAASmC,GAAcC,EAAK7I,GACzC,IAAMF,EAAS7nE,MAAQisE,GACjB/gD,EAAU68C,GAAYF,EACtByE,EAAUkC,GAAAA,KAAkBtjD,EAAQohD,SACtC31E,EAAOu0B,EAAQv0B,KAQnB,OANAsxE,GAAMxhF,QAAQmqF,GAAK,SAAmBnqB,GACpC9vD,EAAO8vD,EAAG7wD,KAAKiyE,EAAQlxE,EAAM21E,EAAQuE,YAAa9I,EAAWA,EAAS7X,YAASrjE,EACjF,IAEAy/E,EAAQuE,YAEDl6E,CACT,CCzBe,SAASm6E,GAASnnF,GAC/B,SAAUA,IAASA,EAAMonF,WAC3B,CCUA,SAASC,GAAc96C,EAAS2xC,EAAQC,GAEtCF,GAAAA,KAAgB5nE,KAAiB,MAAXk2B,EAAkB,WAAaA,EAAS0xC,GAAAA,aAAyBC,EAAQC,GAC/F9nE,KAAKxL,KAAO,eACd,CAEAyzE,GAAMrC,SAASoL,GAAepJ,GAAY,CACxCmJ,YAAY,IAGd,UCnBA,OAAelE,GAAAA,qBAIJ,CACLoE,MAAO,SAAez8E,EAAM7K,EAAOunF,EAASvpB,EAAMwpB,EAAQC,GACxD,IAAMC,EAAS,GACfA,EAAOxqF,KAAK2N,EAAO,IAAM2K,mBAAmBxV,IAExCs+E,GAAM7E,SAAS8N,IACjBG,EAAOxqF,KAAK,WAAa,IAAI0uB,KAAK27D,GAASI,eAGzCrJ,GAAM/E,SAASvb,IACjB0pB,EAAOxqF,KAAK,QAAU8gE,GAGpBsgB,GAAM/E,SAASiO,IACjBE,EAAOxqF,KAAK,UAAYsqF,IAGX,IAAXC,GACFC,EAAOxqF,KAAK,UAGdkF,SAASslF,OAASA,EAAOpiD,KAAK,KAChC,EAEAsiD,KAAM,SAAc/8E,GAClB,IAAMpN,EAAQ2E,SAASslF,OAAOjqF,MAAM,IAAIQ,OAAO,aAAe4M,EAAO,cACrE,OAAQpN,EAAQ2mE,mBAAmB3mE,EAAM,IAAM,IACjD,EAEAkN,OAAQ,SAAgBE,GACtBwL,KAAKixE,MAAMz8E,EAAM,GAAI+gB,KAAKC,MAAQ,MACpC,GAMK,CACLy7D,MAAO,WAAkB,EACzBM,KAAM,WAAkB,OAAO,IAAM,EACrCj9E,OAAQ,WAAmB,GClClB,SAASk9E,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8B5pF,KDGP6pF,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQnqF,QAAQ,OAAQ,IAAM,IAAMqqF,EAAYrqF,QAAQ,OAAQ,IAChEmqF,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,OAAe7E,GAAAA,qBAIZ,WACC,IAEIgF,EAFEC,EAAO,kBAAkBjqF,KAAKs5D,UAAU4wB,WACxCC,EAAiBjmF,SAASsC,cAAc,KAS9C,SAAS4jF,EAAWv1D,GAClB,IAAIuC,EAAOvC,EAWX,OATIo1D,IAEFE,EAAen9E,aAAa,OAAQoqB,GACpCA,EAAO+yD,EAAe/yD,MAGxB+yD,EAAen9E,aAAa,OAAQoqB,GAG7B,CACLA,KAAM+yD,EAAe/yD,KACrBi5C,SAAU8Z,EAAe9Z,SAAW8Z,EAAe9Z,SAAS5wE,QAAQ,KAAM,IAAM,GAChF4qF,KAAMF,EAAeE,KACrB31D,OAAQy1D,EAAez1D,OAASy1D,EAAez1D,OAAOj1B,QAAQ,MAAO,IAAM,GAC3E8/D,KAAM4qB,EAAe5qB,KAAO4qB,EAAe5qB,KAAK9/D,QAAQ,KAAM,IAAM,GACpE6qF,SAAUH,EAAeG,SACzBC,KAAMJ,EAAeI,KACrBjrB,SAAiD,MAAtC6qB,EAAe7qB,SAAS99C,OAAO,GACxC2oE,EAAe7qB,SACf,IAAM6qB,EAAe7qB,SAE3B,CAUA,OARA0qB,EAAYI,EAAWrmF,OAAO0tB,SAAS2F,MAQhC,SAAyBozD,GAC9B,IAAMjD,EAAUnH,GAAM/E,SAASmP,GAAeJ,EAAWI,GAAcA,EACvE,OAAQjD,EAAOlX,WAAa2Z,EAAU3Z,UAClCkX,EAAO8C,OAASL,EAAUK,IAChC,CACF,CAlDC,GAsDQ,WACL,OAAO,CACT,ECXJ,OA9CA,SAAqBI,EAAc3yD,GACjC2yD,EAAeA,GAAgB,GAC/B,IAIIC,EAJEC,EAAQ,IAAIjsF,MAAM+rF,GAClBG,EAAa,IAAIlsF,MAAM+rF,GACzBI,EAAO,EACPp4C,EAAO,EAKX,OAFA3a,OAAc9yB,IAAR8yB,EAAoBA,EAAM,IAEzB,SAAcgzD,GACnB,IAAMn9D,EAAMD,KAAKC,MAEXo9D,EAAYH,EAAWn4C,GAExBi4C,IACHA,EAAgB/8D,GAGlBg9D,EAAME,GAAQC,EACdF,EAAWC,GAAQl9D,EAKnB,IAHA,IAAIve,EAAIqjC,EACJu4C,EAAa,EAEV57E,IAAMy7E,GACXG,GAAcL,EAAMv7E,KACpBA,GAAQq7E,EASV,IANAI,GAAQA,EAAO,GAAKJ,KAEPh4C,IACXA,GAAQA,EAAO,GAAKg4C,KAGlB98D,EAAM+8D,EAAgB5yD,GAA1B,CAIA,IAAMmzD,EAASF,GAAap9D,EAAMo9D,EAElC,OAAOE,EAAS7jE,KAAK+9B,MAAmB,IAAb6lC,EAAoBC,QAAUjmF,CAJzD,CAKF,CACF,ECpCA,SAASkmF,GAAqBnwD,EAAUowD,GACtC,IAAIC,EAAgB,EACdC,EAAeC,GAAY,GAAI,KAErC,OAAO,SAAArpF,GACL,IAAM40D,EAAS50D,EAAE40D,OACX00B,EAAQtpF,EAAEupF,iBAAmBvpF,EAAEspF,WAAQvmF,EACvCymF,EAAgB50B,EAASu0B,EACzBM,EAAOL,EAAaI,GAG1BL,EAAgBv0B,EAEhB,IAAM/nD,EAAO,CACX+nD,OAAAA,EACA00B,MAAAA,EACAI,SAAUJ,EAAS10B,EAAS00B,OAASvmF,EACrC2lF,MAAOc,EACPC,KAAMA,QAAc1mF,EACpB4mF,UAAWF,GAAQH,GAVL10B,GAAU00B,GAUeA,EAAQ10B,GAAU60B,OAAO1mF,EAChEkwB,MAAOjzB,GAGT6M,EAAKq8E,EAAmB,WAAa,WAAY,EAEjDpwD,EAASjsB,EACX,CACF,CAEA,IAEA,GAFwD,qBAAnB+8E,gBAEG,SAAU7L,GAChD,OAAO,IAAIxiD,SAAQ,SAA4BG,EAAS04C,GACtD,IAGIyV,EAHAC,EAAc/L,EAAOlxE,KACnBk9E,EAAiBrF,GAAAA,KAAkB3G,EAAOyE,SAASuE,YACnDrD,EAAe3F,EAAO2F,aAE5B,SAAShkF,IACHq+E,EAAOiM,aACTjM,EAAOiM,YAAYC,YAAYJ,GAG7B9L,EAAOmM,QACTnM,EAAOmM,OAAO/nE,oBAAoB,QAAS0nE,EAE/C,CAEI1L,GAAMlD,WAAW6O,KAAiB/G,GAAAA,sBAAiCA,GAAAA,gCACrEgH,EAAejH,gBAAe,GAGhC,IAAI9E,EAAU,IAAI4L,eAGlB,GAAI7L,EAAOoM,KAAM,CACf,IAAMC,EAAWrM,EAAOoM,KAAKC,UAAY,GACnC73D,EAAWwrD,EAAOoM,KAAK53D,SAAW83D,SAASh1E,mBAAmB0oE,EAAOoM,KAAK53D,WAAa,GAC7Fw3D,EAAenrF,IAAI,gBAAiB,SAAW0rF,KAAKF,EAAW,IAAM73D,GACvE,CAEA,IAAMg4D,EAAW7C,GAAc3J,EAAO4J,QAAS5J,EAAOnrD,KAOtD,SAAS43D,IACP,GAAKxM,EAAL,CAIA,IAAMyM,EAAkB/F,GAAAA,KACtB,0BAA2B1G,GAAWA,EAAQ0M,0BC5EvC,SAAgBhvD,EAAS04C,EAAQ6J,GAC9C,IAAMgG,EAAiBhG,EAASF,OAAOkG,eAClChG,EAAS7X,QAAW6d,IAAkBA,EAAehG,EAAS7X,QAGjEgO,EAAO,IAAI0J,GACT,mCAAqCG,EAAS7X,OAC9C,CAAC0X,GAAAA,gBAA4BA,GAAAA,kBAA6B34D,KAAK6yC,MAAMimB,EAAS7X,OAAS,KAAO,GAC9F6X,EAASF,OACTE,EAASD,QACTC,IAPFviD,EAAQuiD,EAUZ,CD4EM0M,EAAO,SAAkB9qF,GACvB67B,EAAQ77B,GACRH,GACF,IAAG,SAAiBK,GAClBq0E,EAAOr0E,GACPL,GACF,GAfiB,CACfmN,KAHoB62E,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxC1F,EAAQC,SAA/BD,EAAQ4M,aAGRxkB,OAAQ4X,EAAQ5X,OAChBC,WAAY2X,EAAQ3X,WACpBmc,QAASiI,EACT1M,OAAAA,EACAC,QAAAA,IAYFA,EAAU,IAzBV,CA0BF,CAmEA,GArGAA,EAAQ6M,KAAK9M,EAAOhK,OAAOl9D,cAAe0pE,GAASgK,EAAUxM,EAAO5a,OAAQ4a,EAAO+M,mBAAmB,GAGtG9M,EAAQ4F,QAAU7F,EAAO6F,QAiCrB,cAAe5F,EAEjBA,EAAQwM,UAAYA,EAGpBxM,EAAQ+M,mBAAqB,WACtB/M,GAAkC,IAAvBA,EAAQgN,aAQD,IAAnBhN,EAAQ5X,QAAkB4X,EAAQiN,aAAwD,IAAzCjN,EAAQiN,YAAYvtF,QAAQ,WAKjFy9B,WAAWqvD,EACb,EAIFxM,EAAQkN,QAAU,WACXlN,IAIL5J,EAAO,IAAI0J,GAAW,kBAAmBA,GAAAA,aAAyBC,EAAQC,IAG1EA,EAAU,KACZ,EAGAA,EAAQmN,QAAU,WAGhB/W,EAAO,IAAI0J,GAAW,gBAAiBA,GAAAA,YAAwBC,EAAQC,IAGvEA,EAAU,IACZ,EAGAA,EAAQoN,UAAY,WAClB,IAAIC,EAAsBtN,EAAO6F,QAAU,cAAgB7F,EAAO6F,QAAU,cAAgB,mBACtFxB,EAAerE,EAAOqE,cAAgBC,GACxCtE,EAAOsN,sBACTA,EAAsBtN,EAAOsN,qBAE/BjX,EAAO,IAAI0J,GACTuN,EACAjJ,EAAahB,oBAAsBtD,GAAAA,UAAuBA,GAAAA,aAC1DC,EACAC,IAGFA,EAAU,IACZ,EAKI+E,GAAAA,qBAA+B,CAEjC,IAAMuI,GAAavN,EAAOwN,iBAAmBC,GAAgBjB,KACxDxM,EAAO8F,gBAAkB4H,GAAQhE,KAAK1J,EAAO8F,gBAE9CyH,GACFvB,EAAenrF,IAAIm/E,EAAO+F,eAAgBwH,EAE9C,MAGgBvoF,IAAhB+mF,GAA6BC,EAAejH,eAAe,MAGvD,qBAAsB9E,GACxBG,GAAMxhF,QAAQotF,EAAe3L,UAAU,SAA0B3H,EAAKrkE,GACpE4rE,EAAQ0N,iBAAiBt5E,EAAKqkE,EAChC,IAIG0H,GAAMjF,YAAY6E,EAAOwN,mBAC5BvN,EAAQuN,kBAAoBxN,EAAOwN,iBAIjC7H,GAAiC,SAAjBA,IAClB1F,EAAQ0F,aAAe3F,EAAO2F,cAIS,oBAA9B3F,EAAO4N,oBAChB3N,EAAQ97D,iBAAiB,WAAY+mE,GAAqBlL,EAAO4N,oBAAoB,IAIhD,oBAA5B5N,EAAO6N,kBAAmC5N,EAAQ6N,QAC3D7N,EAAQ6N,OAAO3pE,iBAAiB,WAAY+mE,GAAqBlL,EAAO6N,oBAGtE7N,EAAOiM,aAAejM,EAAOmM,UAG/BL,EAAa,SAAAppC,GACNu9B,IAGL5J,GAAQ3zB,GAAUA,EAAOjwC,KAAO,IAAI02E,GAAc,KAAMnJ,EAAQC,GAAWv9B,GAC3Eu9B,EAAQ8N,QACR9N,EAAU,KACZ,EAEAD,EAAOiM,aAAejM,EAAOiM,YAAY+B,UAAUlC,GAC/C9L,EAAOmM,SACTnM,EAAOmM,OAAO8B,QAAUnC,IAAe9L,EAAOmM,OAAOhoE,iBAAiB,QAAS2nE,KAInF,IAAMzb,EE3OK,SAAuBx7C,GACpC,IAAMt1B,EAAQ,4BAA4Bs/E,KAAKhqD,GAC/C,OAAOt1B,GAASA,EAAM,IAAM,EAC9B,CFwOqB2uF,CAAc1B,GAE3Bnc,IAAsD,IAA1C2U,GAAAA,UAAAA,QAA2B3U,GACzCgG,EAAO,IAAI0J,GAAW,wBAA0B1P,EAAW,IAAK0P,GAAAA,gBAA4BC,IAM9FC,EAAQkO,KAAKpC,GAAe,KAC9B,GACF,EGnPMqC,GAAgB,CACpBC,KAAMC,GACNC,IAAKC,IAGPpO,GAAMxhF,QAAQwvF,IAAe,SAACxvB,EAAI98D,GAChC,GAAG88D,EAAI,CACL,IACEvhE,OAAOkW,eAAeqrD,EAAI,OAAQ,CAAC98D,MAAAA,GACrC,CAAE,MAAOG,GACP,CAEF5E,OAAOkW,eAAeqrD,EAAI,cAAe,CAAC98D,MAAAA,GAC5C,CACF,IAEA,QACE2sF,WAAY,SAACC,GAOX,IAJA,IACIC,EACApK,EAFG/jF,GAFPkuF,EAAWtO,GAAMnjE,QAAQyxE,GAAYA,EAAW,CAACA,IAE1CluF,OAIE4O,EAAI,EAAGA,EAAI5O,IAClBmuF,EAAgBD,EAASt/E,KACrBm1E,EAAUnE,GAAM/E,SAASsT,GAAiBP,GAAcO,EAAcxvF,eAAiBwvF,IAFjEv/E,KAO5B,IAAKm1E,EAAS,CACZ,IAAgB,IAAZA,EACF,MAAM,IAAIxE,GAAW,WAAD/3E,OACP2mF,EAAa,wCACxB,mBAIJ,MAAM,IAAIh0E,MACRylE,GAAMtB,WAAWsP,GAAeO,GAAc,YAAA3mF,OAChC2mF,EAAa,uDAAA3mF,OACL2mF,EAAa,KAEvC,CAEA,IAAKvO,GAAM9E,WAAWiJ,GACpB,MAAM,IAAIpkF,UAAU,6BAGtB,OAAOokF,CACT,EACAmK,SAAUN,ICzCZ,SAASQ,GAA6B5O,GAKpC,GAJIA,EAAOiM,aACTjM,EAAOiM,YAAY4C,mBAGjB7O,EAAOmM,QAAUnM,EAAOmM,OAAO8B,QACjC,MAAM,IAAI9E,GAAc,KAAMnJ,EAElC,CASe,SAAS8O,GAAgB9O,GAiBtC,OAhBA4O,GAA6B5O,GAE7BA,EAAOyE,QAAUkC,GAAAA,KAAkB3G,EAAOyE,SAG1CzE,EAAOlxE,KAAOg6E,GAAc/6E,KAC1BiyE,EACAA,EAAOwE,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAAS7kF,QAAQqgF,EAAOhK,SAC1CgK,EAAOyE,QAAQM,eAAe,qCAAqC,GAGrD2J,GAASD,WAAWzO,EAAOuE,SAAWH,GAAAA,QAE/CG,CAAQvE,GAAQpiD,MAAK,SAA6BsiD,GAYvD,OAXA0O,GAA6B5O,GAG7BE,EAASpxE,KAAOg6E,GAAc/6E,KAC5BiyE,EACAA,EAAOyF,kBACPvF,GAGFA,EAASuE,QAAUkC,GAAAA,KAAkBzG,EAASuE,SAEvCvE,CACT,IAAG,SAA4B6O,GAe7B,OAdK9F,GAAS8F,KACZH,GAA6B5O,GAGzB+O,GAAUA,EAAO7O,WACnB6O,EAAO7O,SAASpxE,KAAOg6E,GAAc/6E,KACnCiyE,EACAA,EAAOyF,kBACPsJ,EAAO7O,UAET6O,EAAO7O,SAASuE,QAAUkC,GAAAA,KAAkBoI,EAAO7O,SAASuE,WAIzDjnD,QAAQ64C,OAAO0Y,EACxB,GACF,CC3EA,IAAMC,GAAkB,SAACjU,GAAK,OAAKA,aAAiB4L,GAAe5L,EAAMsF,SAAWtF,CAAK,EAW1E,SAASkU,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,IAAMnP,EAAS,CAAC,EAEhB,SAASoP,EAAepsE,EAAQR,EAAQk7D,GACtC,OAAI0C,GAAM3E,cAAcz4D,IAAWo9D,GAAM3E,cAAcj5D,GAC9C49D,GAAM3C,MAAM1vE,KAAK,CAAC2vE,SAAAA,GAAW16D,EAAQR,GACnC49D,GAAM3E,cAAcj5D,GACtB49D,GAAM3C,MAAM,CAAC,EAAGj7D,GACd49D,GAAMnjE,QAAQuF,GAChBA,EAAOxJ,QAETwJ,CACT,CAGA,SAAS6sE,EAAoB75E,EAAGjB,EAAGmpE,GACjC,OAAK0C,GAAMjF,YAAY5mE,GAEX6rE,GAAMjF,YAAY3lE,QAAvB,EACE45E,OAAepqF,EAAWwQ,EAAGkoE,GAF7B0R,EAAe55E,EAAGjB,EAAGmpE,EAIhC,CAGA,SAAS4R,EAAiB95E,EAAGjB,GAC3B,IAAK6rE,GAAMjF,YAAY5mE,GACrB,OAAO66E,OAAepqF,EAAWuP,EAErC,CAGA,SAASg7E,EAAiB/5E,EAAGjB,GAC3B,OAAK6rE,GAAMjF,YAAY5mE,GAEX6rE,GAAMjF,YAAY3lE,QAAvB,EACE45E,OAAepqF,EAAWwQ,GAF1B45E,OAAepqF,EAAWuP,EAIrC,CAGA,SAASi7E,EAAgBh6E,EAAGjB,EAAGnS,GAC7B,OAAIA,KAAQ+sF,EACHC,EAAe55E,EAAGjB,GAChBnS,KAAQ8sF,EACVE,OAAepqF,EAAWwQ,QAD5B,CAGT,CAEA,IAAMi6E,EAAW,CACf56D,IAAKy6D,EACLtZ,OAAQsZ,EACRxgF,KAAMwgF,EACN1F,QAAS2F,EACT/K,iBAAkB+K,EAClB9J,kBAAmB8J,EACnBxC,iBAAkBwC,EAClB1J,QAAS0J,EACTG,eAAgBH,EAChB/B,gBAAiB+B,EACjBhL,QAASgL,EACT5J,aAAc4J,EACdzJ,eAAgByJ,EAChBxJ,eAAgBwJ,EAChB1B,iBAAkB0B,EAClB3B,mBAAoB2B,EACpBI,WAAYJ,EACZvJ,iBAAkBuJ,EAClBtJ,cAAesJ,EACfK,eAAgBL,EAChBM,UAAWN,EACXO,UAAWP,EACXQ,WAAYR,EACZtD,YAAasD,EACbS,WAAYT,EACZU,iBAAkBV,EAClBrJ,eAAgBsJ,EAChB/K,QAAS,SAACjvE,EAAGjB,GAAC,OAAK86E,EAAoBL,GAAgBx5E,GAAIw5E,GAAgBz6E,IAAI,EAAK,GAStF,OANA6rE,GAAMxhF,QAAQvB,OAAO6W,KAAKg7E,GAASlnF,OAAO3K,OAAO6W,KAAKi7E,KAAW,SAA4B/sF,GAC3F,IAAMq7E,EAAQgS,EAASrtF,IAASitF,EAC1Ba,EAAczS,EAAMyR,EAAQ9sF,GAAO+sF,EAAQ/sF,GAAOA,GACvDg+E,GAAMjF,YAAY+U,IAAgBzS,IAAU+R,IAAqBxP,EAAO59E,GAAQ8tF,EACnF,IAEOlQ,CACT,CCxGO,IAAMmQ,GAAU,QCKjBC,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUxxF,SAAQ,SAAC6T,EAAMrD,GAC7EghF,GAAW39E,GAAQ,SAAmBsoE,GACpC,cAAcA,IAAUtoE,GAAQ,KAAOrD,EAAI,EAAI,KAAO,KAAOqD,CAC/D,CACF,IAEA,IAAM49E,GAAqB,CAAC,EAW5BD,GAAW/L,aAAe,SAAsBiM,EAAWnrF,EAASkpC,GAClE,SAASkiD,EAAcC,EAAKnuF,GAC1B,MAAO,WAAa8tF,GAAU,0BAA6BK,EAAM,IAAOnuF,GAAQgsC,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAACvsC,EAAO0uF,EAAKC,GAClB,IAAkB,IAAdH,EACF,MAAM,IAAIvQ,GACRwQ,EAAcC,EAAK,qBAAuBrrF,EAAU,OAASA,EAAU,KACvE46E,GAAAA,gBAeJ,OAXI56E,IAAYkrF,GAAmBG,KACjCH,GAAmBG,IAAO,EAE1BhuF,QAAQC,KACN8tF,EACEC,EACA,+BAAiCrrF,EAAU,8CAK1CmrF,GAAYA,EAAUxuF,EAAO0uF,EAAKC,EAC3C,CACF,EAmCA,QACEC,cAxBF,SAAuBvzE,EAASwzE,EAAQC,GACtC,GAAuB,kBAAZzzE,EACT,MAAM,IAAI4iE,GAAW,4BAA6BA,GAAAA,sBAIpD,IAFA,IAAM7rE,EAAO7W,OAAO6W,KAAKiJ,GACrB/N,EAAI8E,EAAK1T,OACN4O,KAAM,GAAG,CACd,IAAMohF,EAAMt8E,EAAK9E,GACXkhF,EAAYK,EAAOH,GACzB,GAAIF,EAAJ,CACE,IAAMxuF,EAAQqb,EAAQqzE,GAChBnyB,OAAmBr5D,IAAVlD,GAAuBwuF,EAAUxuF,EAAO0uF,EAAKrzE,GAC5D,IAAe,IAAXkhD,EACF,MAAM,IAAI0hB,GAAW,UAAYyQ,EAAM,YAAcnyB,EAAQ0hB,GAAAA,qBAGjE,MACA,IAAqB,IAAjB6Q,EACF,MAAM,IAAI7Q,GAAW,kBAAoByQ,EAAKzQ,GAAAA,eAElD,CACF,EAIEqQ,WAAAA,IC9EIA,GAAaE,GAAUF,WASvBS,GAAK,WACT,SAAAA,EAAYC,GAAgB5oB,EAAA,KAAA2oB,GAC1B14E,KAAKisE,SAAW0M,EAChB34E,KAAK44E,aAAe,CAClB9Q,QAAS,IAAI4C,GACb3C,SAAU,IAAI2C,GAElB,CAqIC,OAnID1a,EAAA0oB,EAAA,EAAAx8E,IAAA,UAAAvS,MAQA,SAAQkvF,EAAahR,GAGQ,kBAAhBgR,GACThR,EAASA,GAAU,CAAC,GACbnrD,IAAMm8D,EAEbhR,EAASgR,GAAe,CAAC,EAK3B,IAoBIC,EApBJC,EAFAlR,EAASiP,GAAY92E,KAAKisE,SAAUpE,GAE7BqE,EAAY6M,EAAZ7M,aAAc0I,EAAgBmE,EAAhBnE,iBAAkBtI,EAAOyM,EAAPzM,aAElBz/E,IAAjBq/E,GACFiM,GAAUI,cAAcrM,EAAc,CACpClB,kBAAmBiN,GAAW/L,aAAa+L,GAAWe,SACtD/N,kBAAmBgN,GAAW/L,aAAa+L,GAAWe,SACtD9N,oBAAqB+M,GAAW/L,aAAa+L,GAAWe,WACvD,QAGoBnsF,IAArB+nF,GACFuD,GAAUI,cAAc3D,EAAkB,CACxC9K,OAAQmO,GAAWgB,SACnBzO,UAAWyN,GAAWgB,WACrB,GAILpR,EAAOhK,QAAUgK,EAAOhK,QAAU79D,KAAKisE,SAASpO,QAAU,OAAO72E,eAKjE8xF,EAAiBxM,GAAWrE,GAAM3C,MAChCgH,EAAQ0B,OACR1B,EAAQzE,EAAOhK,WAGCoK,GAAMxhF,QACtB,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAACo3E,UACQyO,EAAQzO,EACjB,IAGFgK,EAAOyE,QAAUkC,GAAAA,OAAoBsK,EAAgBxM,GAGrD,IAAM4M,EAA0B,GAC5BC,GAAiC,EACrCn5E,KAAK44E,aAAa9Q,QAAQrhF,SAAQ,SAAoC2yF,GACjC,oBAAxBA,EAAYrO,UAA0D,IAAhCqO,EAAYrO,QAAQlD,KAIrEsR,EAAiCA,GAAkCC,EAAYtO,YAE/EoO,EAAwB50D,QAAQ80D,EAAYxO,UAAWwO,EAAYvO,UACrE,IAEA,IAKIwO,EALEC,EAA2B,GACjCt5E,KAAK44E,aAAa7Q,SAASthF,SAAQ,SAAkC2yF,GACnEE,EAAyBzyF,KAAKuyF,EAAYxO,UAAWwO,EAAYvO,SACnE,IAGA,IACI7mB,EADA/sD,EAAI,EAGR,IAAKkiF,EAAgC,CACnC,IAAMI,EAAQ,CAAC5C,GAAgBtzD,KAAKrjB,WAAOnT,GAO3C,IANA0sF,EAAMj1D,QAAQ1+B,MAAM2zF,EAAOL,GAC3BK,EAAM1yF,KAAKjB,MAAM2zF,EAAOD,GACxBt1B,EAAMu1B,EAAMlxF,OAEZgxF,EAAUh0D,QAAQG,QAAQqiD,GAEnB5wE,EAAI+sD,GACTq1B,EAAUA,EAAQ5zD,KAAK8zD,EAAMtiF,KAAMsiF,EAAMtiF,MAG3C,OAAOoiF,CACT,CAEAr1B,EAAMk1B,EAAwB7wF,OAE9B,IAAImxF,EAAY3R,EAIhB,IAFA5wE,EAAI,EAEGA,EAAI+sD,GAAK,CACd,IAAMy1B,EAAcP,EAAwBjiF,KACtCyiF,EAAaR,EAAwBjiF,KAC3C,IACEuiF,EAAYC,EAAYD,EAC1B,CAAE,MAAOljD,GACPojD,EAAW9jF,KAAKoK,KAAMs2B,GACtB,KACF,CACF,CAEA,IACE+iD,EAAU1C,GAAgB/gF,KAAKoK,KAAMw5E,EACvC,CAAE,MAAOljD,GACP,OAAOjR,QAAQ64C,OAAO5nC,EACxB,CAKA,IAHAr/B,EAAI,EACJ+sD,EAAMs1B,EAAyBjxF,OAExB4O,EAAI+sD,GACTq1B,EAAUA,EAAQ5zD,KAAK6zD,EAAyBriF,KAAMqiF,EAAyBriF,MAGjF,OAAOoiF,CACT,GAAC,CAAAn9E,IAAA,SAAAvS,MAED,SAAOk+E,GAGL,OAAOwC,GADUmH,IADjB3J,EAASiP,GAAY92E,KAAKisE,SAAUpE,IACE4J,QAAS5J,EAAOnrD,KAC5BmrD,EAAO5a,OAAQ4a,EAAO+M,iBAClD,KAAC8D,CAAA,CA5IQ,GAgJXzQ,GAAMxhF,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6Bo3E,GAE/E6a,GAAMlyF,UAAUq3E,GAAU,SAASnhD,EAAKmrD,GACtC,OAAO7nE,KAAK8nE,QAAQgP,GAAYjP,GAAU,CAAC,EAAG,CAC5ChK,OAAAA,EACAnhD,IAAAA,EACA/lB,MAAOkxE,GAAU,CAAC,GAAGlxE,OAEzB,CACF,IAEAsxE,GAAMxhF,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+Bo3E,GAGrE,SAAS8b,EAAmBC,GAC1B,OAAO,SAAoBl9D,EAAK/lB,EAAMkxE,GACpC,OAAO7nE,KAAK8nE,QAAQgP,GAAYjP,GAAU,CAAC,EAAG,CAC5ChK,OAAAA,EACAyO,QAASsN,EAAS,CAChB,eAAgB,uBACd,CAAC,EACLl9D,IAAAA,EACA/lB,KAAAA,IAEJ,CACF,CAEA+hF,GAAMlyF,UAAUq3E,GAAU8b,IAE1BjB,GAAMlyF,UAAUq3E,EAAS,QAAU8b,GAAmB,EACxD,IAEA,UCzLME,GAAW,WACf,SAAAA,EAAYC,GACV,GADoB/pB,EAAA,KAAA8pB,GACI,oBAAbC,EACT,MAAM,IAAI9xF,UAAU,gCAGtB,IAAI+xF,EAEJ/5E,KAAKq5E,QAAU,IAAIh0D,SAAQ,SAAyBG,GAClDu0D,EAAiBv0D,CACnB,IAEA,IAAMqjD,EAAQ7oE,KAGdA,KAAKq5E,QAAQ5zD,MAAK,SAAA8kB,GAChB,GAAKs+B,EAAMmR,WAAX,CAIA,IAFA,IAAI/iF,EAAI4xE,EAAMmR,WAAW3xF,OAElB4O,KAAM,GACX4xE,EAAMmR,WAAW/iF,GAAGszC,GAEtBs+B,EAAMmR,WAAa,IAPU,CAQ/B,IAGAh6E,KAAKq5E,QAAQ5zD,KAAO,SAAAw0D,GAClB,IAAIC,EAEEb,EAAU,IAAIh0D,SAAQ,SAAAG,GAC1BqjD,EAAMgN,UAAUrwD,GAChB00D,EAAW10D,CACb,IAAGC,KAAKw0D,GAMR,OAJAZ,EAAQ9uC,OAAS,WACfs+B,EAAMkL,YAAYmG,EACpB,EAEOb,CACT,EAEAS,GAAS,SAAgB5jD,EAAS2xC,EAAQC,GACpCe,EAAM+N,SAKV/N,EAAM+N,OAAS,IAAI5F,GAAc96C,EAAS2xC,EAAQC,GAClDiS,EAAelR,EAAM+N,QACvB,GACF,CAuDC,OArDD5mB,EAAA6pB,EAAA,EAAA39E,IAAA,mBAAAvS,MAGA,WACE,GAAIqW,KAAK42E,OACP,MAAM52E,KAAK42E,MAEf,GAEA,CAAA16E,IAAA,YAAAvS,MAIA,SAAUi5B,GACJ5iB,KAAK42E,OACPh0D,EAAS5iB,KAAK42E,QAIZ52E,KAAKg6E,WACPh6E,KAAKg6E,WAAWnzF,KAAK+7B,GAErB5iB,KAAKg6E,WAAa,CAACp3D,EAEvB,GAEA,CAAA1mB,IAAA,cAAAvS,MAIA,SAAYi5B,GACV,GAAK5iB,KAAKg6E,WAAV,CAGA,IAAM5qD,EAAQpvB,KAAKg6E,WAAWxyF,QAAQo7B,IACvB,IAAXwM,GACFpvB,KAAKg6E,WAAWx2C,OAAOpU,EAAO,EAHhC,CAKF,IAEA,EAAAlzB,IAAA,SAAAvS,MAIA,WACE,IAAI4gD,EAIJ,MAAO,CACLs+B,MAJY,IAAIgR,GAAY,SAAkBt9E,GAC9CguC,EAAShuC,CACX,IAGEguC,OAAAA,EAEJ,KAACsvC,CAAA,CA1Gc,GA6GjB,MCxHA,IAAMM,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZh6C,GAAI,IACJi6C,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjC/4F,OAAOD,QAAQk1F,IAAgB1zF,SAAQ,SAAAf,GAAkB,IAAA01E,EAAA1xE,EAAAhE,EAAA,GAAhBwW,EAAGk/D,EAAA,GAAEzxE,EAAKyxE,EAAA,GACjD+e,GAAexwF,GAASuS,CAC1B,IAEA,UCzBA,IAAMgiF,GAnBN,SAASC,EAAeC,GACtB,IAAMlzD,EAAU,IAAIwtD,GAAM0F,GACpBz7D,EAAWU,GAAKq1D,GAAAA,UAAAA,QAAyBxtD,GAa/C,OAVA+8C,GAAMnoD,OAAO6C,EAAU+1D,GAAAA,UAAiBxtD,EAAS,CAAC24C,YAAY,IAG9DoE,GAAMnoD,OAAO6C,EAAUuI,EAAS,KAAM,CAAC24C,YAAY,IAGnDlhD,EAASl9B,OAAS,SAAgBkzF,GAChC,OAAOwF,EAAerH,GAAYsH,EAAezF,GACnD,EAEOh2D,CACT,CAGcw7D,CAAelS,IAG7BiS,GAAMxF,MAAQA,GAGdwF,GAAMlN,cAAgBA,GACtBkN,GAAMrE,YAAcA,GACpBqE,GAAMpN,SAAWA,GACjBoN,GAAMlG,QAAUA,GAChBkG,GAAMhU,WAAaA,GAGnBgU,GAAMtW,WAAaA,GAGnBsW,GAAMG,OAASH,GAAMlN,cAGrBkN,GAAMI,IAAM,SAAaC,GACvB,OAAOl5D,QAAQi5D,IAAIC,EACrB,EAEAL,GAAMM,OC7CS,SAAgBhyD,GAC7B,OAAO,SAAcs3B,GACnB,OAAOt3B,EAAS5mC,MAAM,KAAMk+D,EAC9B,CACF,ED4CAo6B,GAAMO,aE5DS,SAAsBlyD,GACnC,OAAO07C,GAAM5E,SAAS92C,KAAsC,IAAzBA,EAAQkyD,YAC7C,EF6DAP,GAAMpH,YAAcA,GAEpBoH,GAAM1P,aAAeA,GAErB0P,GAAMQ,WAAa,SAAA9b,GAAK,OAAI+J,GAAe1E,GAAM7D,WAAWxB,GAAS,IAAIoC,SAASpC,GAASA,EAAM,EAEjGsb,GAAM/D,eAAiBA,GAEvB+D,GAAMt0C,QAAUs0C,GAGhB,UGrFaS,GAAU,mCCGFC,GAAY,oBAAAA,IAAA7uB,EAAA,KAAA6uB,EAAA,CA+D9B,OA/D8B5uB,EAAA4uB,EAAA,OAAA1iF,IAAA,eAAAvS,MAAA,eAAAk1F,EAAAzc,GAAAC,KAAAjC,MAC/B,SAAAkC,IAAA,IAAAwc,EAAAC,EAAAlS,EAAA9E,EAAAxF,EAAAn6E,UAAA,OAAAi6E,KAAA1F,MAAA,SAAA35D,GAAA,cAAAA,EAAA09D,KAAA19D,EAAAooB,MAAA,OAAwD,OAA9B0zD,EAAKvc,EAAAl6E,OAAA,QAAAwE,IAAA01E,EAAA,GAAAA,EAAA,GAAG,GAAIwc,EAAIxc,EAAAl6E,OAAA,QAAAwE,IAAA01E,EAAA,GAAAA,EAAA,GAAG,EAAGsK,EAAQtK,EAAAl6E,OAAA,EAAAk6E,EAAA,QAAA11E,EAAAmW,EAAAooB,KAAA,EAC/B8yD,GAAAA,IAAU,qCAADruF,OAAsC8uF,IAAW,CAC/E1xB,OAAQ,CACN+xB,UAAWnS,EACXoS,UAAWH,EACXC,KAAMA,KAEP,KAAD,EANY,OAARhX,EAAQ/kE,EAAA47D,KAAA57D,EAAA+7D,OAAA,SAOPgJ,GAAQ,wBAAA/kE,EAAA29D,OAAA,GAAA2B,EAAA,KAChB,yBAAAuc,EAAAj5F,MAAA,KAAAwC,UAAA,EAV8B,IAU9B,CAAA8T,IAAA,uBAAAvS,MAAA,eAAAu1F,EAAA9c,GAAAC,KAAAjC,MAED,SAAA+e,EAAkCjlB,EAAO4kB,EAAOC,GAAI,IAAAhX,EAAA,OAAA1F,KAAA1F,MAAA,SAAAyiB,GAAA,cAAAA,EAAA1e,KAAA0e,EAAAh0D,MAAA,cAAAg0D,EAAAh0D,KAAA,EAC3B8yD,GAAAA,IAAU,qCAADruF,OAAsC8uF,IAAW,CAC/E1xB,OAAQ,CACN1wC,OAAQ29C,EACR+kB,UAAWH,EACXC,KAAMA,KAEP,KAAD,EANY,OAARhX,EAAQqX,EAAAxgB,KAAAwgB,EAAArgB,OAAA,SAOPgJ,GAAQ,wBAAAqX,EAAAze,OAAA,GAAAwe,EAAA,KAChB,gBAAA56B,EAAA86B,EAAAC,GAAA,OAAAJ,EAAAt5F,MAAA,KAAAwC,UAAA,EAXA,IAWA,CAAA8T,IAAA,sBAAAvS,MAAA,eAAA41F,EAAAnd,GAAAC,KAAAjC,MAED,SAAAof,EAAiCp1E,GAAK,IAAA00E,EAAAC,EAAAlS,EAAA9E,EAAA0X,EAAAr3F,UAAA,OAAAi6E,KAAA1F,MAAA,SAAA+iB,GAAA,cAAAA,EAAAhf,KAAAgf,EAAAt0D,MAAA,OAAgC,OAA9B0zD,EAAKW,EAAAp3F,OAAA,QAAAwE,IAAA4yF,EAAA,GAAAA,EAAA,GAAG,GAAIV,EAAIU,EAAAp3F,OAAA,QAAAwE,IAAA4yF,EAAA,GAAAA,EAAA,GAAG,EAAG5S,EAAQ4S,EAAAp3F,OAAA,EAAAo3F,EAAA,QAAA5yF,EAAA6yF,EAAAt0D,KAAA,EAC7C8yD,GAAAA,IAAU,qCAADruF,OAAsC8uF,IAAW,CAC/E1xB,OAAQ,CACN0yB,SAAUv1E,EACV40E,UAAWnS,EACXoS,UAAWH,EACXC,KAAMA,KAEP,KAAD,EAPY,OAARhX,EAAQ2X,EAAA9gB,KAAA8gB,EAAA3gB,OAAA,SAQPgJ,GAAQ,wBAAA2X,EAAA/e,OAAA,GAAA6e,EAAA,KAChB,gBAAAI,GAAA,OAAAL,EAAA35F,MAAA,KAAAwC,UAAA,EAZA,IAYA,CAAA8T,IAAA,gBAAAvS,MAAA,eAAAk2F,EAAAzd,GAAAC,KAAAjC,MAED,SAAA0f,EAA2BC,GAAI,IAAAhY,EAAA,OAAA1F,KAAA1F,MAAA,SAAAqjB,GAAA,cAAAA,EAAAtf,KAAAsf,EAAA50D,MAAA,cAAA40D,EAAA50D,KAAA,EACN8yD,GAAAA,IAAU,iCAADruF,OAAkCkwF,EAAI,SAAAlwF,OAAQ8uF,KAAW,KAAD,EAA1E,OAAR5W,EAAQiY,EAAAphB,KAAAohB,EAAAjhB,OAAA,SACPgJ,GAAQ,wBAAAiY,EAAArf,OAAA,GAAAmf,EAAA,KAChB,gBAAAG,GAAA,OAAAJ,EAAAj6F,MAAA,KAAAwC,UAAA,EALA,IAKA,CAAA8T,IAAA,0BAAAvS,MAAA,eAAAu2F,EAAA9d,GAAAC,KAAAjC,MAED,SAAA+f,EAAqC7sE,GAAE,IAAAy0D,EAAA,OAAA1F,KAAA1F,MAAA,SAAAyjB,GAAA,cAAAA,EAAA1f,KAAA0f,EAAAh1D,MAAA,cAAAg1D,EAAAh1D,KAAA,EACd8yD,GAAAA,IAAU,iCAADruF,OAAkCyjB,EAAE,sBAAAzjB,OAAqB8uF,KAAW,KAAD,EAArF,OAAR5W,EAAQqY,EAAAxhB,KAAAwhB,EAAArhB,OAAA,SACPgJ,GAAQ,wBAAAqY,EAAAzf,OAAA,GAAAwf,EAAA,KAChB,gBAAAE,GAAA,OAAAH,EAAAt6F,MAAA,KAAAwC,UAAA,EALA,IAKA,CAAA8T,IAAA,yBAAAvS,MAAA,eAAA22F,EAAAle,GAAAC,KAAAjC,MAED,SAAAmgB,EAAoCjtE,GAAE,IAAAy0D,EAAA,OAAA1F,KAAA1F,MAAA,SAAA6jB,GAAA,cAAAA,EAAA9f,KAAA8f,EAAAp1D,MAAA,cAAAo1D,EAAAp1D,KAAA,EACb8yD,GAAAA,IAAU,iCAADruF,OAAkCyjB,EAAE,qBAAAzjB,OAAoB8uF,KAAW,KAAD,EAApF,OAAR5W,EAAQyY,EAAA5hB,KAAA4hB,EAAAzhB,OAAA,SACPgJ,GAAQ,wBAAAyY,EAAA7f,OAAA,GAAA4f,EAAA,KAChB,gBAAAE,GAAA,OAAAH,EAAA16F,MAAA,KAAAwC,UAAA,EALA,IAKA,CAAA8T,IAAA,mBAAAvS,MAAA,eAAA+2F,EAAAte,GAAAC,KAAAjC,MAED,SAAAugB,EAA8BrtE,GAAE,IAAAy0D,EAAA,OAAA1F,KAAA1F,MAAA,SAAAikB,GAAA,cAAAA,EAAAlgB,KAAAkgB,EAAAx1D,MAAA,cAAAw1D,EAAAx1D,KAAA,EACP8yD,GAAAA,IAAU,iCAADruF,OAAkCyjB,EAAE,gBAAAzjB,OAAe8uF,KAAW,KAAD,EAA/E,OAAR5W,EAAQ6Y,EAAAhiB,KAAAgiB,EAAA7hB,OAAA,SACPgJ,GAAQ,wBAAA6Y,EAAAjgB,OAAA,GAAAggB,EAAA,KAChB,gBAAAE,GAAA,OAAAH,EAAA96F,MAAA,KAAAwC,UAAA,EALA,IAKA,CAAA8T,IAAA,qBAAAvS,MAAA,eAAAm3F,EAAA1e,GAAAC,KAAAjC,MAED,SAAA2gB,EAAgCztE,GAAE,IAAAy0D,EAAA,OAAA1F,KAAA1F,MAAA,SAAAqkB,GAAA,cAAAA,EAAAtgB,KAAAsgB,EAAA51D,MAAA,cAAA41D,EAAA51D,KAAA,EACT8yD,GAAAA,IAAU,iCAADruF,OAAkCyjB,EAAE,gBAAAzjB,OAAe8uF,KAAW,KAAD,EAA/E,OAAR5W,EAAQiZ,EAAApiB,KAAAoiB,EAAAjiB,OAAA,SACPgJ,GAAQ,wBAAAiZ,EAAArgB,OAAA,GAAAogB,EAAA,KAChB,gBAAAE,GAAA,OAAAH,EAAAl7F,MAAA,KAAAwC,UAAA,EALA,IAKA,CAAA8T,IAAA,uBAAAvS,MAAA,eAAAu3F,EAAA9e,GAAAC,KAAAjC,MAED,SAAA+gB,EAAkC7tE,GAAE,IAAAy0D,EAAA,OAAA1F,KAAA1F,MAAA,SAAAykB,GAAA,cAAAA,EAAA1gB,KAAA0gB,EAAAh2D,MAAA,cAAAg2D,EAAAh2D,KAAA,EACX8yD,GAAAA,IAAU,iCAADruF,OAAkCyjB,EAAE,mBAAAzjB,OAAkB8uF,KAAW,KAAD,EAAlF,OAAR5W,EAAQqZ,EAAAxiB,KAAAwiB,EAAAriB,OAAA,SACPgJ,GAAQ,wBAAAqZ,EAAAzgB,OAAA,GAAAwgB,EAAA,KAChB,gBAAAE,GAAA,OAAAH,EAAAt7F,MAAA,KAAAwC,UAAA,EALA,MAKAw2F,CAAA,CA/D8B,GCmBjC,IACA,GAAe,IAA0B,gECDzC,IACA,GAAe,IAA0B,yDCDzC,IACA,GAAe,IAA0B,4DCDzC,IACA,GAAe,IAA0B,4DCAzC,IACA,GAAe,IAA0B,6DCFzC,IACA,GAAe,IAA0B,wDCwBzC,GApCkB,SAAHl5F,GAAqB,IAAhBs5F,EAASt5F,EAATs5F,UACZsC,EAAY,CAAC,EACbC,EAAgB,CACpB,gBAAiBC,GACjB,gBAAiBA,GACjB,gBAAiBA,GACjB,UAAWA,GACX,kBAAmBC,GACnB,WAAYA,GACZ,WAAYA,GACZ,QAAWC,GACX,kBAAmBC,GACnB,IAAOC,GACP,MAASA,GACT,GAAMzyE,GACN,MAASA,IAGX,OACEyrD,EAAAA,GAAAA,KAAA,MAAI5rB,UAAU,YAAW1pC,SACR,OAAd05E,EACKA,EAAUhxC,KAAI,SAAC6+B,EAAUz9C,GACzB,IAAMyyD,EAAWN,EAAc1U,EAASA,SAASr4E,MACjD,OAAIqtF,IAAaP,EAAUO,IACzBP,EAAUO,IAAY,GACfjnB,EAAAA,GAAAA,KAAA,MAAgB5rB,UAAU,WAAU1pC,UAACs1D,EAAAA,GAAAA,KAACpD,GAAI,CAACvQ,GAAE,cAAAp3D,OAAgBg9E,EAASA,SAASv5D,IAAKhO,UAACs1D,EAAAA,GAAAA,KAAA,OAAK78B,IAAKwjD,EAAc1U,EAASA,SAASr4E,MAAOy6C,IAAI,qBAAjI7f,IAET,IAEX,IACE,MAIZ,EC7Ca0yD,GAAe,SAACC,GAC3B,IAAMC,EAAkB31C,WAAW01C,GAAcE,QAAQ,GAEvD,MAAsC,OAAlCD,EAAgBxhF,MAAM,KAAK,GACtBwhF,EAAkB,MAElBA,CAEb,ECyCA,GA5CgB,SAAHt8F,GAAoC,IAA/B4U,EAAI5U,EAAJ4U,KAAM4nF,EAAMx8F,EAANw8F,OAAQC,EAAUz8F,EAAVy8F,WAC1BC,EAAe,GACfC,EAAmB,GAEvB,GAAa,eAAT/nF,EACF,QAAO,GACL,KAAM6nF,GAAc,GAClBE,EAAmB,cACnB,MACF,KAAMF,EAAa,IAAMA,EAAa,GACpCE,EAAmB,eACnB,MACF,KAAMF,GAAc,GAClBE,EAAmB,YACnB,MACF,QAAS,OAAO,KAIpB,GAAa,WAAT/nF,EACF,QAAO,GACL,KAAM4nF,GAAU,EACdE,EAAe,cACf,MACF,KAAMF,EAAS,GAAOA,GAAU,EAC9BE,EAAe,eACf,MACF,KAAMF,EAAS,EACbE,EAAe,YACf,MACF,QAAS,OAAO,KAIpB,OACExnB,EAAAA,GAAAA,KAAA0nB,GAAAA,SAAA,CAAAh9E,SACY,WAAThL,EACc,IAAX4nF,GAAetnB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,cAAa1pC,SAAC,UAAcs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAW,gBAAkBozC,EAAa98E,SAAEw8E,GAAaI,KAC3G,OAAfC,GAAsBvnB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,cAAa1pC,SAAC,UAAcs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAW,oBAAsBqzC,EAAiB/8E,SAAE68E,KAItI,ECpBA,IACA,GAAe,IAA0B,mEC2BzC,GA7CiB,SAAHz8F,GAAgB,IAAX68F,EAAI78F,EAAJ68F,KAEjB,OACEznB,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,YAAW1pC,SAAA,EACxBs1D,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,mBAAkB1pC,SACJ,OAA1Bi9E,EAAKC,kBACA5nB,EAAAA,GAAAA,KAAA,OAAK78B,IAAI,yDAAyDkR,IAAI,UACtE2rB,EAAAA,GAAAA,KAAC7e,GAAAA,cAAa,CAAChe,IAAKwkD,EAAKC,iBACzB5oE,MAAO,IAAKC,OAAQ,IACpB+kC,eAAgB,gEAChBD,OAAO,YAIfmc,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,qBAAoB1pC,SAAA,EACjCs1D,EAAAA,GAAAA,KAAC6nB,GAAS,CAACzD,UAAWuD,EAAKvD,aAC3BpkB,EAAAA,GAAAA,KAACpD,GAAI,CAACvQ,GAAE,UAAAp3D,OAAY0yF,EAAKxC,MAAQ/wC,UAAU,kBAAiB1pC,SAAEi9E,EAAK/tF,OAChD,OAAlB+tF,EAAKG,UACA5nB,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,sBAAqB1pC,SAAA,EAACs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,aAAY1pC,SAAC,gBAAiBs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,gBAAe1pC,SAAC,aACnHw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,sBAAqB1pC,SAAA,EAACs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,QAAO1pC,SAAC,eAAkBi9E,EAAKG,aAE1F5nB,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,oBAAmB1pC,SAAA,EAChCs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,QAAO1pC,SAAC,cACxBs1D,EAAAA,GAAAA,KAAC+nB,GAAO,CAACroF,KAAM,SAAU4nF,OAAQK,EAAKL,aAExCpnB,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,wBAAuB1pC,SAAA,EACpCs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,QAAO1pC,SAAC,kBACxBs1D,EAAAA,GAAAA,KAAC+nB,GAAO,CAACroF,KAAM,aAAc6nF,WAAYI,EAAKJ,iBAEhDrnB,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,mBAAkB1pC,SAAA,EAC/Bw1D,EAAAA,GAAAA,MAAA,OAAK9rB,UAAU,mBAAkB1pC,SAAA,EAC/Bs1D,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,yBAAwB1pC,UACtCs1D,EAAAA,GAAAA,KAAA,OAAK78B,IAAK6kD,GAAM3zC,IAAI,iBAEtB2rB,EAAAA,GAAAA,KAAA,QAAM5rB,UAAU,cAAa1pC,SAAEi9E,EAAKM,YAEtCjoB,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,qBAAoB1pC,UACjCs1D,EAAAA,GAAAA,KAACpD,GAAI,CAACvQ,GAAE,UAAAp3D,OAAY0yF,EAAKxC,MAAQ/wC,UAAU,oBAAmB1pC,SAAC,sBAM3E,EC/CMw9E,GAAY,SAAHp9F,GAAkC,IAA7Bk8E,EAASl8E,EAATk8E,UAAWmhB,EAAWr9F,EAAXq9F,YAC7B,OACEnoB,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,aAAY1pC,UACzBs1D,EAAAA,GAAAA,KAAA,MAAI5rB,UAA2B,WAAhB+zC,EAA2B,wBAA0B,sBAAsBz9E,SACvFs8D,EAAU5zB,KAAI,SAAAu0C,GACb,OACE3nB,EAAAA,GAAAA,KAAA,MAAkB5rB,UAA2B,WAAhB+zC,EAA2B,yBAA2B,qBAAqBz9E,UACtGs1D,EAAAA,GAAAA,KAACooB,GAAQ,CAACT,KAAMA,KADTA,EAAKjvE,GAIlB,OAIR,EAEA,IAAe46B,EAAAA,EAAAA,MAAK40C,ICrBL,SAAS,GAAyBz4E,EAAQ44E,GACvD,GAAc,MAAV54E,EAAgB,MAAO,CAAC,EAC5B,IACInO,EAAKjF,EADL4T,ECHS,SAAuCR,EAAQ44E,GAC5D,GAAc,MAAV54E,EAAgB,MAAO,CAAC,EAC5B,IAEInO,EAAKjF,EAFL4T,EAAS,CAAC,EACVq4E,EAAah+F,OAAO6W,KAAKsO,GAE7B,IAAKpT,EAAI,EAAGA,EAAIisF,EAAW76F,OAAQ4O,IACjCiF,EAAMgnF,EAAWjsF,GACbgsF,EAASz7F,QAAQ0U,IAAQ,IAC7B2O,EAAO3O,GAAOmO,EAAOnO,IAEvB,OAAO2O,CACT,CDRe,CAA6BR,EAAQ44E,GAElD,GAAI/9F,OAAOoW,sBAAuB,CAChC,IAAI6nF,EAAmBj+F,OAAOoW,sBAAsB+O,GACpD,IAAKpT,EAAI,EAAGA,EAAIksF,EAAiB96F,OAAQ4O,IACvCiF,EAAMinF,EAAiBlsF,GACnBgsF,EAASz7F,QAAQ0U,IAAQ,GACxBhX,OAAOsB,UAAUy3D,qBAAqBroD,KAAKyU,EAAQnO,KACxD2O,EAAO3O,GAAOmO,EAAOnO,GAEzB,CACA,OAAO2O,CACT,CEVA,IAAIgtD,GAAY,CAAC,oBAAqB,oBAAqB,eAAgB,aAAc,aAAc,WAAY,gBAAiB,cAAe,aAAc,SCLlJ,SAAS,KAYtB,OAXA,GAAW3yE,OAAOod,OAASpd,OAAOod,OAAO+gB,OAAS,SAAUxY,GAC1D,IAAK,IAAI5T,EAAI,EAAGA,EAAI7O,UAAUC,OAAQ4O,IAAK,CACzC,IAAIoT,EAASjiB,UAAU6O,GACvB,IAAK,IAAIiF,KAAOmO,EACVnlB,OAAOsB,UAAUoZ,eAAehK,KAAKyU,EAAQnO,KAC/C2O,EAAO3O,GAAOmO,EAAOnO,GAG3B,CACA,OAAO2O,CACT,EACO,GAASjlB,MAAMoa,KAAM5X,UAC9B,CCwCA,IAAIg7F,GAA0B,WAE5B,SAASA,EAAWp+E,GAClB,IAAIquD,EAAQrzD,KAEZA,KAAKqjF,WAAa,SAAUlqF,GAC1B,IAAImqF,EAIAA,EAFsB,IAAtBjwB,EAAMkwB,KAAKl7F,OACTgrE,EAAMmwB,eACCnwB,EAAMmwB,eAAe9kE,YACrB20C,EAAMowB,QACNpwB,EAAMqwB,UAAUjrF,WAEhB46D,EAAMiwB,OAGRjwB,EAAMkwB,KAAKlwB,EAAMkwB,KAAKl7F,OAAS,GAAGq2B,YAG7C20C,EAAMqwB,UAAUjuF,aAAa0D,EAAKmqF,GAElCjwB,EAAMkwB,KAAK18F,KAAKsS,EAClB,EAEA6G,KAAK2jF,cAA8B92F,IAAnBmY,EAAQ4+E,QAA+D5+E,EAAQ4+E,OAC/F5jF,KAAKujF,KAAO,GACZvjF,KAAK6jF,IAAM,EACX7jF,KAAK8jF,MAAQ9+E,EAAQ8+E,MAErB9jF,KAAK9D,IAAM8I,EAAQ9I,IACnB8D,KAAK0jF,UAAY1+E,EAAQ0+E,UACzB1jF,KAAKyjF,QAAUz+E,EAAQy+E,QACvBzjF,KAAKwjF,eAAiBx+E,EAAQw+E,eAC9BxjF,KAAKsjF,OAAS,IAChB,CAEA,IAAIS,EAASX,EAAW58F,UA4DxB,OA1DAu9F,EAAO79C,QAAU,SAAiB89C,GAChCA,EAAMv9F,QAAQuZ,KAAKqjF,WACrB,EAEAU,EAAOE,OAAS,SAAgBC,GAI1BlkF,KAAK6jF,KAAO7jF,KAAK2jF,SAAW,KAAQ,KAAO,GAC7C3jF,KAAKqjF,WA7DX,SAA4Br+E,GAC1B,IAAI7L,EAAMpN,SAASsC,cAAc,SASjC,OARA8K,EAAItE,aAAa,eAAgBmQ,EAAQ9I,UAEnBrP,IAAlBmY,EAAQ8+E,OACV3qF,EAAItE,aAAa,QAASmQ,EAAQ8+E,OAGpC3qF,EAAIX,YAAYzM,SAAS2J,eAAe,KACxCyD,EAAItE,aAAa,SAAU,IACpBsE,CACT,CAkDsBgrF,CAAmBnkF,OAGrC,IAAI7G,EAAM6G,KAAKujF,KAAKvjF,KAAKujF,KAAKl7F,OAAS,GAcvC,GAAI2X,KAAK2jF,SAAU,CACjB,IAAIS,EAhGV,SAAqBjrF,GACnB,GAAIA,EAAIirF,MAEN,OAAOjrF,EAAIirF,MAMb,IAAK,IAAIntF,EAAI,EAAGA,EAAIlL,SAASs4F,YAAYh8F,OAAQ4O,IAC/C,GAAIlL,SAASs4F,YAAYptF,GAAGqtF,YAAcnrF,EAExC,OAAOpN,SAASs4F,YAAYptF,EAGlC,CAiFkBstF,CAAYprF,GAExB,IAGEirF,EAAMI,WAAWN,EAAME,EAAMK,SAASp8F,OACxC,CAAE,MAAOyB,GACH46F,CAGN,CACF,MACEvrF,EAAIX,YAAYzM,SAAS2J,eAAewuF,IAG1ClkF,KAAK6jF,KACP,EAEAE,EAAOv5C,MAAQ,WAEbxqC,KAAKujF,KAAK98F,SAAQ,SAAU0S,GAC1B,OAAOA,EAAI/E,YAAc+E,EAAI/E,WAAWC,YAAY8E,EACtD,IACA6G,KAAKujF,KAAO,GACZvjF,KAAK6jF,IAAM,CAKb,EAEOT,CACT,CAlG8B,GCjDnB36C,GAAMx5B,KAAKw5B,IAMX9zC,GAAO5N,OAAOqyB,aAMd9W,GAASpd,OAAOod,OAepB,SAAS5a,GAAMiC,GACrB,OAAOA,EAAMjC,MACd,CAiBO,SAASJ,GAASqC,EAAOyjE,EAASu3B,GACxC,OAAOh7F,EAAMrC,QAAQ8lE,EAASu3B,EAC/B,CAOO,SAASC,GAASj7F,EAAO4yB,GAC/B,OAAO5yB,EAAMnC,QAAQ+0B,EACtB,CAOO,SAASsoE,GAAQl7F,EAAOylC,GAC9B,OAAiC,EAA1BzlC,EAAMg8E,WAAWv2C,EACzB,CAQO,SAASk4B,GAAQ39D,EAAOm7F,EAAOtlE,GACrC,OAAO71B,EAAMkX,MAAMikF,EAAOtlE,EAC3B,CAMO,SAASulE,GAAQp7F,GACvB,OAAOA,EAAMtB,MACd,CAMO,SAAS28F,GAAQr7F,GACvB,OAAOA,EAAMtB,MACd,CAOO,SAASm/E,GAAQ79E,EAAOhB,GAC9B,OAAOA,EAAM9B,KAAK8C,GAAQA,CAC3B,CCvGO,IAAI0lF,GAAO,EACP4V,GAAS,EACT58F,GAAS,EACT+9E,GAAW,EACX8e,GAAY,EACZC,GAAa,GAWjB,SAAShxF,GAAMxK,EAAOoD,EAAM8G,EAAQyG,EAAMi0B,EAAOjpB,EAAUjd,GACjE,MAAO,CAACsB,MAAOA,EAAOoD,KAAMA,EAAM8G,OAAQA,EAAQyG,KAAMA,EAAMi0B,MAAOA,EAAOjpB,SAAUA,EAAU+pE,KAAMA,GAAM4V,OAAQA,GAAQ58F,OAAQA,EAAQukB,OAAQ,GACrJ,CAOO,SAASw4E,GAAMr4F,EAAMwhC,GAC3B,OAAOjsB,GAAOnO,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAIpH,EAAM,CAAC1E,QAAS0E,EAAK1E,QAASkmC,EACtF,CAYO,SAASmyC,KAMf,OALAwkB,GAAY9e,GAAW,EAAIye,GAAOM,KAAc/e,IAAY,EAExD6e,KAAwB,KAAdC,KACbD,GAAS,EAAG5V,MAEN6V,EACR,CAKO,SAAS95D,KAMf,OALA85D,GAAY9e,GAAW/9E,GAASw8F,GAAOM,GAAY/e,MAAc,EAE7D6e,KAAwB,KAAdC,KACbD,GAAS,EAAG5V,MAEN6V,EACR,CAKO,SAASG,KACf,OAAOR,GAAOM,GAAY/e,GAC3B,CAKO,SAASkf,KACf,OAAOlf,EACR,CAOO,SAASvlE,GAAOikF,EAAOtlE,GAC7B,OAAO8nC,GAAO69B,GAAYL,EAAOtlE,EAClC,CAMO,SAASqpD,GAAOvuE,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAMO,SAASirF,GAAO57F,GACtB,OAAO0lF,GAAO4V,GAAS,EAAG58F,GAAS08F,GAAOI,GAAax7F,GAAQy8E,GAAW,EAAG,EAC9E,CAMO,SAASof,GAAS77F,GACxB,OAAOw7F,GAAa,GAAIx7F,CACzB,CAMO,SAAS87F,GAASnrF,GACxB,OAAO5S,GAAKmZ,GAAMulE,GAAW,EAAGW,GAAmB,KAATzsE,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAASorF,GAAYprF,GAC3B,MAAO4qF,GAAYG,OACdH,GAAY,IACf95D,KAIF,OAAOy9C,GAAMvuE,GAAQ,GAAKuuE,GAAMqc,IAAa,EAAI,GAAK,GACvD,CAwBO,SAASS,GAAUv2D,EAAOywB,GAChC,OAASA,GAASz0B,QAEb85D,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOrkF,GAAMuuB,EAAOk2D,MAAWzlC,EAAQ,GAAe,IAAVwlC,MAA0B,IAAVj6D,MAC7D,CAMO,SAAS27C,GAAWzsE,GAC1B,KAAO8wB,aACE85D,IAEP,KAAK5qF,EACJ,OAAO8rE,GAER,KAAK,GAAI,KAAK,GACA,KAAT9rE,GAAwB,KAATA,GAClBysE,GAAUme,IACX,MAED,KAAK,GACS,KAAT5qF,GACHysE,GAAUzsE,GACX,MAED,KAAK,GACJ8wB,KAIH,OAAOg7C,EACR,CAOO,SAASwf,GAAWtrF,EAAM80B,GAChC,KAAOhE,MAEF9wB,EAAO4qF,KAAc,KAGhB5qF,EAAO4qF,KAAc,IAAsB,KAAXG,QAG1C,MAAO,KAAOxkF,GAAMuuB,EAAOg3C,GAAW,GAAK,IAAMzxE,GAAc,KAAT2F,EAAcA,EAAO8wB,KAC5E,CAMO,SAASy6D,GAAYz2D,GAC3B,MAAQy5C,GAAMwc,OACbj6D,KAED,OAAOvqB,GAAMuuB,EAAOg3C,GACrB,CCrPO,IAAI0f,GAAK,OACLC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAIdC,GAAS,UAMTC,GAAY,aCRhB,SAAS7b,GAAWllE,EAAUknB,GAIpC,IAHA,IAAI85D,EAAS,GACTj+F,EAAS28F,GAAO1/E,GAEXrO,EAAI,EAAGA,EAAI5O,EAAQ4O,IAC3BqvF,GAAU95D,EAASlnB,EAASrO,GAAIA,EAAGqO,EAAUknB,IAAa,GAE3D,OAAO85D,CACR,CASO,SAAS3iD,GAAW76C,EAASsmC,EAAO9pB,EAAUknB,GACpD,OAAQ1jC,EAAQwR,MACf,KAAK8rF,GAAQ,KAAKD,GAAa,OAAOr9F,EAAQ8jB,OAAS9jB,EAAQ8jB,QAAU9jB,EAAQa,MACjF,KAAKs8F,GAAS,MAAO,GACrB,KAAKI,GAAW,OAAOv9F,EAAQ8jB,OAAS9jB,EAAQa,MAAQ,IAAM6gF,GAAU1hF,EAAQwc,SAAUknB,GAAY,IACtG,KAAK05D,GAASp9F,EAAQa,MAAQb,EAAQylC,MAAMU,KAAK,KAGlD,OAAO81D,GAAOz/E,EAAWklE,GAAU1hF,EAAQwc,SAAUknB,IAAa1jC,EAAQ8jB,OAAS9jB,EAAQa,MAAQ,IAAM2b,EAAW,IAAM,EAC3H,CC1BO,SAASihF,GAAS58F,GACxB,OAAO67F,GAAQ1zB,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAKnoE,EAAQ47F,GAAM57F,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAASmoE,GAAOnoE,EAAOoD,EAAM8G,EAAQqwF,EAAMsC,EAAOC,EAAUC,EAAQt3C,EAAQu3C,GAiBlF,IAhBA,IAAIv3D,EAAQ,EACR3Q,EAAS,EACTp2B,EAASq+F,EACTE,EAAS,EACTh9F,EAAW,EACXi9F,EAAW,EACXC,EAAW,EACXC,EAAW,EACXC,EAAY,EACZ9B,EAAY,EACZ5qF,EAAO,GACPi0B,EAAQi4D,EACRlhF,EAAWmhF,EACXQ,EAAY/C,EACZiB,EAAa7qF,EAEVysF,UACEF,EAAW3B,EAAWA,EAAY95D,MAEzC,KAAK,GACJ,GAAgB,KAAZy7D,GAAqD,IAAlChC,GAAOM,EAAY98F,EAAS,GAAU,EACkB,GAA1Eu8F,GAAQO,GAAc79F,GAAQm+F,GAAQP,GAAY,IAAK,OAAQ,SAClE8B,GAAa,GACd,KACD,CAED,KAAK,GAAI,KAAK,GAAI,KAAK,GACtB7B,GAAcM,GAAQP,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAcO,GAAWmB,GACzB,MAED,KAAK,GACJ1B,GAAcQ,GAASL,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQD,MACP,KAAK,GAAI,KAAK,GACb7d,GAAO0f,GAAQtB,GAAUx6D,KAAQk6D,MAAUv4F,EAAM8G,GAAS8yF,GAC1D,MACD,QACCxB,GAAc,IAEhB,MAED,KAAK,IAAM2B,EACV13C,EAAOhgB,KAAW21D,GAAOI,GAAc6B,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQ5B,GAEP,KAAK,EAAG,KAAK,IAAK6B,EAAW,EAE7B,KAAK,GAAKtoE,EACL70B,EAAW,GAAMm7F,GAAOI,GAAc98F,GACzCm/E,GAAO59E,EAAW,GAAKu9F,GAAYhC,EAAa,IAAKjB,EAAMrwF,EAAQxL,EAAS,GAAK8+F,GAAY7/F,GAAQ69F,EAAY,IAAK,IAAM,IAAKjB,EAAMrwF,EAAQxL,EAAS,GAAIs+F,GAC7J,MAED,KAAK,GAAIxB,GAAc,IAEvB,QAGC,GAFA3d,GAAOyf,EAAYG,GAAQjC,EAAYp4F,EAAM8G,EAAQu7B,EAAO3Q,EAAQ+nE,EAAOp3C,EAAQ90C,EAAMi0B,EAAQ,GAAIjpB,EAAW,GAAIjd,GAASo+F,GAE3G,MAAdvB,EACH,GAAe,IAAXzmE,EACHqzC,GAAMqzB,EAAYp4F,EAAMk6F,EAAWA,EAAW14D,EAAOk4D,EAAUp+F,EAAQ+mD,EAAQ9pC,QAE/E,OAAmB,KAAXshF,GAA2C,MAA1B/B,GAAOM,EAAY,GAAa,IAAMyB,GAE9D,KAAK,IAAK,KAAK,IAAK,KAAK,IACxB90B,GAAMnoE,EAAOs9F,EAAWA,EAAW/C,GAAQ1c,GAAO4f,GAAQz9F,EAAOs9F,EAAWA,EAAW,EAAG,EAAGT,EAAOp3C,EAAQ90C,EAAMksF,EAAOj4D,EAAQ,GAAIlmC,GAASid,GAAWkhF,EAAOlhF,EAAUjd,EAAQ+mD,EAAQ80C,EAAO31D,EAAQjpB,GACzM,MACD,QACCwsD,GAAMqzB,EAAY8B,EAAWA,EAAWA,EAAW,CAAC,IAAK3hF,EAAU,EAAG8pC,EAAQ9pC,IAIpF8pB,EAAQ3Q,EAAS70B,EAAW,EAAGk9F,EAAWE,EAAY,EAAG1sF,EAAO6qF,EAAa,GAAI98F,EAASq+F,EAC1F,MAED,KAAK,GACJr+F,EAAS,EAAI08F,GAAOI,GAAav7F,EAAWi9F,EAC7C,QACC,GAAIC,EAAW,EACd,GAAiB,KAAb5B,IACD4B,OACE,GAAiB,KAAb5B,GAAkC,GAAd4B,KAA6B,KAAVpmB,KAC/C,SAEF,OAAQykB,GAAcxwF,GAAKuwF,GAAYA,EAAY4B,GAElD,KAAK,GACJE,EAAYvoE,EAAS,EAAI,GAAK0mE,GAAc,MAAO,GACnD,MAED,KAAK,GACJ/1C,EAAOhgB,MAAY21D,GAAOI,GAAc,GAAK6B,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX3B,OACHF,GAAcM,GAAQr6D,OAEvBw7D,EAASvB,KAAQ5mE,EAASp2B,EAAS08F,GAAOzqF,EAAO6qF,GAAcU,GAAWP,OAAWJ,IACrF,MAED,KAAK,GACa,KAAb2B,GAAyC,GAAtB9B,GAAOI,KAC7B2B,EAAW,IAIjB,OAAOL,CACR,CAgBO,SAASW,GAASz9F,EAAOoD,EAAM8G,EAAQu7B,EAAO3Q,EAAQ+nE,EAAOp3C,EAAQ90C,EAAMi0B,EAAOjpB,EAAUjd,GAKlG,IAJA,IAAIg/F,EAAO5oE,EAAS,EAChBylE,EAAkB,IAAXzlE,EAAe+nE,EAAQ,CAAC,IAC/BtrD,EAAO8pD,GAAOd,GAETjtF,EAAI,EAAG6zC,EAAI,EAAGnuC,EAAI,EAAG1F,EAAIm4B,IAASn4B,EAC1C,IAAK,IAAIhR,EAAI,EAAGkX,EAAImqD,GAAO39D,EAAO09F,EAAO,EAAGA,EAAO5+C,GAAIqC,EAAIsE,EAAOn4C,KAAMmG,EAAIzT,EAAO1D,EAAIi1C,IAAQj1C,GAC1FmX,EAAI1V,GAAKojD,EAAI,EAAIo5C,EAAKj+F,GAAK,IAAMkX,EAAI7V,GAAQ6V,EAAG,OAAQ+mF,EAAKj+F,QAChEsoC,EAAM5xB,KAAOS,GAEhB,OAAOjJ,GAAKxK,EAAOoD,EAAM8G,EAAmB,IAAX4qB,EAAeynE,GAAU5rF,EAAMi0B,EAAOjpB,EAAUjd,EAClF,CAQO,SAAS6+F,GAASv9F,EAAOoD,EAAM8G,GACrC,OAAOM,GAAKxK,EAAOoD,EAAM8G,EAAQoyF,GAAStxF,GH/InCuwF,IG+IiD59B,GAAO39D,EAAO,GAAI,GAAI,EAC/E,CASO,SAASw9F,GAAax9F,EAAOoD,EAAM8G,EAAQxL,GACjD,OAAO8L,GAAKxK,EAAOoD,EAAM8G,EAAQsyF,GAAa7+B,GAAO39D,EAAO,EAAGtB,GAASi/D,GAAO39D,EAAOtB,EAAS,GAAI,GAAIA,EACxG,CCzLA,IAAIi/F,GAA8B,SAAqCxC,EAAO11C,EAAQhgB,GAIpF,IAHA,IAAIy3D,EAAW,EACX3B,EAAY,EAGd2B,EAAW3B,EACXA,EAAYG,KAEK,KAAbwB,GAAiC,KAAd3B,IACrB91C,EAAOhgB,GAAS,IAGdy5C,GAAMqc,IAIV95D,KAGF,OAAOvqB,GAAMikF,EAAO1e,GACtB,EA6CImhB,GAAW,SAAkB59F,EAAOylD,GACtC,OAAOo2C,GA5CK,SAAiBpW,EAAQhgC,GAErC,IAAIhgB,GAAS,EACT81D,EAAY,GAEhB,GACE,OAAQrc,GAAMqc,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAXG,OAKtBj2C,EAAOhgB,GAAS,GAGlBggD,EAAOhgD,IAAUk4D,GAA4BlhB,GAAW,EAAGh3B,EAAQhgB,GACnE,MAEF,KAAK,EACHggD,EAAOhgD,IAAUq2D,GAAQP,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpB9V,IAAShgD,GAAoB,KAAXi2D,KAAgB,MAAQ,GAC1Cj2C,EAAOhgB,GAASggD,EAAOhgD,GAAO/mC,OAC9B,KACF,CAIF,QACE+mF,EAAOhgD,IAAUz6B,GAAKuwF,UAEnBA,EAAY95D,MAErB,OAAOgkD,CACT,CAGiBoY,CAAQjC,GAAM57F,GAAQylD,GACvC,EAGIq4C,GAA+B,IAAIjxD,QACnCkxD,GAAS,SAAgB5+F,GAC3B,GAAqB,SAAjBA,EAAQwR,MAAoBxR,EAAQ+K,UAExC/K,EAAQT,OAAS,GAFjB,CAUA,IAJA,IAAIsB,EAAQb,EAAQa,MAChBkK,EAAS/K,EAAQ+K,OACjB8zF,EAAiB7+F,EAAQm8F,SAAWpxF,EAAOoxF,QAAUn8F,EAAQumF,OAASx7E,EAAOw7E,KAE1D,SAAhBx7E,EAAOyG,MAEZ,KADAzG,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzB/K,EAAQylC,MAAMlmC,QAAwC,KAAxBsB,EAAMg8E,WAAW,IAE/C8hB,GAAct9F,IAAI0J,MAMlB8zF,EAAJ,CAIAF,GAAc/+F,IAAII,GAAS,GAK3B,IAJA,IAAIsmD,EAAS,GACTo3C,EAAQe,GAAS59F,EAAOylD,GACxBw4C,EAAc/zF,EAAO06B,MAEhBt3B,EAAI,EAAG0F,EAAI,EAAG1F,EAAIuvF,EAAMn+F,OAAQ4O,IACvC,IAAK,IAAI6zC,EAAI,EAAGA,EAAI88C,EAAYv/F,OAAQyiD,IAAKnuC,IAC3C7T,EAAQylC,MAAM5xB,GAAKyyC,EAAOn4C,GAAKuvF,EAAMvvF,GAAG3P,QAAQ,OAAQsgG,EAAY98C,IAAM88C,EAAY98C,GAAK,IAAM07C,EAAMvvF,EAT3G,CAtBA,CAkCF,EACI4wF,GAAc,SAAqB/+F,GACrC,GAAqB,SAAjBA,EAAQwR,KAAiB,CAC3B,IAAI3Q,EAAQb,EAAQa,MAGI,MAAxBA,EAAMg8E,WAAW,IACO,KAAxBh8E,EAAMg8E,WAAW,KAEf78E,EAAgB,OAAI,GACpBA,EAAQa,MAAQ,GAEpB,CACF,EAgHA,SAASm+F,GAAOn+F,EAAOtB,GACrB,OL1NK,SAAesB,EAAOtB,GAC5B,OAA0B,GAAnBw8F,GAAOl7F,EAAO,MAAiBtB,GAAU,EAAKw8F,GAAOl7F,EAAO,KAAO,EAAKk7F,GAAOl7F,EAAO,KAAO,EAAKk7F,GAAOl7F,EAAO,KAAO,EAAKk7F,GAAOl7F,EAAO,GAAK,CACvJ,CKwNUy9D,CAAKz9D,EAAOtB,IAElB,KAAK,KACH,OAAO29F,GAAS,SAAWr8F,EAAQA,EAGrC,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOq8F,GAASr8F,EAAQA,EAG1B,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOq8F,GAASr8F,EAAQo8F,GAAMp8F,EAAQm8F,GAAKn8F,EAAQA,EAGrD,KAAK,KACL,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAKn8F,EAAQA,EAGvC,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAK,QAAUn8F,EAAQA,EAGjD,KAAK,KACH,OAAOq8F,GAASr8F,EAAQrC,GAAQqC,EAAO,iBAAkBq8F,GAAS,WAAaF,GAAK,aAAen8F,EAGrG,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAK,aAAex+F,GAAQqC,EAAO,cAAe,IAAMA,EAGlF,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAK,iBAAmBx+F,GAAQqC,EAAO,4BAA6B,IAAMA,EAGpG,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,SAAU,YAAcA,EAGtE,KAAK,KACH,OAAOq8F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,QAAS,kBAAoBA,EAG3E,KAAK,KACH,OAAOq8F,GAAS,OAAS1+F,GAAQqC,EAAO,QAAS,IAAMq8F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,OAAQ,YAAcA,EAGpH,KAAK,KACH,OAAOq8F,GAAS1+F,GAAQqC,EAAO,qBAAsB,KAAOq8F,GAAS,MAAQr8F,EAG/E,KAAK,KACH,OAAOrC,GAAQA,GAAQA,GAAQqC,EAAO,eAAgBq8F,GAAS,MAAO,cAAeA,GAAS,MAAOr8F,EAAO,IAAMA,EAGpH,KAAK,KACL,KAAK,KACH,OAAOrC,GAAQqC,EAAO,oBAAqBq8F,aAG7C,KAAK,KACH,OAAO1+F,GAAQA,GAAQqC,EAAO,oBAAqBq8F,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAASr8F,EAAQA,EAGhJ,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACH,OAAOrC,GAAQqC,EAAO,kBAAmBq8F,GAAS,QAAUr8F,EAG9D,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KACL,KAAK,KAEH,GAAIo7F,GAAOp7F,GAAS,EAAItB,EAAS,EAAG,OAAQw8F,GAAOl7F,EAAOtB,EAAS,IAEjE,KAAK,IAEH,GAAkC,KAA9Bw8F,GAAOl7F,EAAOtB,EAAS,GAAW,MAGxC,KAAK,IACH,OAAOf,GAAQqC,EAAO,mBAAoB,KAAOq8F,GAAP,UAAiCD,IAAoC,KAA7BlB,GAAOl7F,EAAOtB,EAAS,GAAY,KAAO,UAAYsB,EAG1I,KAAK,IACH,OAAQi7F,GAAQj7F,EAAO,WAAam+F,GAAOxgG,GAAQqC,EAAO,UAAW,kBAAmBtB,GAAUsB,EAAQA,EAE9G,MAGF,KAAK,KAEH,GAAkC,MAA9Bk7F,GAAOl7F,EAAOtB,EAAS,GAAY,MAGzC,KAAK,KACH,OAAQw8F,GAAOl7F,EAAOo7F,GAAOp7F,GAAS,IAAMi7F,GAAQj7F,EAAO,eAAiB,MAE1E,KAAK,IACH,OAAOrC,GAAQqC,EAAO,IAAK,IAAMq8F,IAAUr8F,EAG7C,KAAK,IACH,OAAOrC,GAAQqC,EAAO,wBAAyB,KAAOq8F,IAAgC,KAAtBnB,GAAOl7F,EAAO,IAAa,UAAY,IAAxD,UAA+Eq8F,GAA/E,SAAwGF,GAAK,WAAan8F,EAG7K,MAGF,KAAK,KACH,OAAQk7F,GAAOl7F,EAAOtB,EAAS,KAE7B,KAAK,IACH,OAAO29F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,qBAAsB,MAAQA,EAG5E,KAAK,IACH,OAAOq8F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,qBAAsB,SAAWA,EAG/E,KAAK,GACH,OAAOq8F,GAASr8F,EAAQm8F,GAAKx+F,GAAQqC,EAAO,qBAAsB,MAAQA,EAG9E,OAAOq8F,GAASr8F,EAAQm8F,GAAKn8F,EAAQA,EAGzC,OAAOA,CACT,CAEA,IAqCIo+F,GAAuB,CArCZ,SAAkBj/F,EAASsmC,EAAO9pB,EAAUknB,GACzD,GAAI1jC,EAAQT,QAAU,IAAQS,EAAgB,OAAG,OAAQA,EAAQwR,MAC/D,KAAK6rF,GACHr9F,EAAgB,OAAIg/F,GAAOh/F,EAAQa,MAAOb,EAAQT,QAClD,MAEF,KAAKg+F,GACH,OAAO7b,GAAU,CAAC4a,GAAKt8F,EAAS,CAC9Ba,MAAOrC,GAAQwB,EAAQa,MAAO,IAAK,IAAMq8F,OACtCx5D,GAEP,KAAK05D,GACH,GAAIp9F,EAAQT,OAAQ,OLzTnB,SAAkBM,EAAO6jC,GAC/B,OAAO7jC,EAAMqlD,IAAIxhB,GAAUyC,KAAK,GACjC,CKuTiC+4D,CAAQl/F,EAAQylC,OAAO,SAAU5kC,GAC1D,OLlYD,SAAgBA,EAAOyjE,GAC7B,OAAQzjE,EAAQyjE,EAAQsZ,KAAK/8E,IAAUA,EAAM,GAAKA,CACnD,CKgYgBvC,CAAMuC,EAAO,0BAEnB,IAAK,aACL,IAAK,cACH,OAAO6gF,GAAU,CAAC4a,GAAKt8F,EAAS,CAC9BylC,MAAO,CAACjnC,GAAQqC,EAAO,cAAe,IAAMo8F,GAAM,UAC/Cv5D,GAGP,IAAK,gBACH,OAAOg+C,GAAU,CAAC4a,GAAKt8F,EAAS,CAC9BylC,MAAO,CAACjnC,GAAQqC,EAAO,aAAc,IAAMq8F,GAAS,eAClDZ,GAAKt8F,EAAS,CAChBylC,MAAO,CAACjnC,GAAQqC,EAAO,aAAc,IAAMo8F,GAAM,SAC/CX,GAAKt8F,EAAS,CAChBylC,MAAO,CAACjnC,GAAQqC,EAAO,aAAcm8F,GAAK,gBACvCt5D,GAGT,MAAO,EACT,IAEN,GAsIA,GAlIkB,SAAqBxnB,GACrC,IAAI9I,EAAM8I,EAAQ9I,IAMlB,GAAa,QAARA,EAAe,CAClB,IAAI+rF,EAAYl8F,SAAS03C,iBAAiB,qCAK1Cl9C,MAAMC,UAAUC,QAAQmP,KAAKqyF,GAAW,SAAU9zF,IASL,IAFhBA,EAAK7H,aAAa,gBAEpB9E,QAAQ,OAGjCuE,SAAS2mF,KAAKl6E,YAAYrE,GAC1BA,EAAKU,aAAa,SAAU,IAC9B,GACF,CAEA,IAAIqzF,EAAgBljF,EAAQkjF,eAAiBH,GAS7C,IACIrE,EAkBAyE,EAnBAC,EAAW,CAAC,EAEZC,EAAiB,GAGnB3E,EAAY1+E,EAAQ0+E,WAAa33F,SAAS2mF,KAC1CnsF,MAAMC,UAAUC,QAAQmP,KAExB7J,SAAS03C,iBAAiB,wBAA2BvnC,EAAM,QAAS,SAAU/H,GAG5E,IAFA,IAAIm0F,EAASn0F,EAAK7H,aAAa,gBAAgBkU,MAAM,KAE5CvJ,EAAI,EAAGA,EAAIqxF,EAAOjgG,OAAQ4O,IACjCmxF,EAASE,EAAOrxF,KAAM,EAGxBoxF,EAAexhG,KAAKsN,EACtB,IAiBA,IAAIo0F,ECjfmB/7D,EDkfnBg8D,EAAoB,CAAC7kD,IClfFnX,ED4fT,SAAU03D,GACtBqE,EAAatE,OAAOC,EACtB,EC7fI,SAAUp7F,GACXA,EAAQiE,OACRjE,EAAUA,EAAQ8jB,SACrB4f,EAAS1jC,EACZ,ID0fO2/F,EChhBD,SAAqBC,GAC3B,IAAIrgG,EAAS28F,GAAO0D,GAEpB,OAAO,SAAU5/F,EAASsmC,EAAO9pB,EAAUknB,GAG1C,IAFA,IAAI85D,EAAS,GAEJrvF,EAAI,EAAGA,EAAI5O,EAAQ4O,IAC3BqvF,GAAUoC,EAAWzxF,GAAGnO,EAASsmC,EAAO9pB,EAAUknB,IAAa,GAEhE,OAAO85D,CACR,CACD,CDqgBqBqC,CA1BM,CAACjB,GAAQG,IA0Beh4F,OAAOq4F,EAAeM,IAMrEL,EAAU,SAAgBS,EAAUC,EAAYzE,EAAO0E,GACrDP,EAAenE,EAJR5Z,GAAU+b,GAcVqC,EAAWA,EAAW,IAAMC,EAAWE,OAAS,IAAMF,EAAWE,QAdtCN,GAgB9BK,IACF5mD,EAAMkmD,SAASS,EAAWr0F,OAAQ,EAEtC,EAGF,IAAI0tC,EAAQ,CACVhmC,IAAKA,EACLkoF,MAAO,IAAIhB,GAAW,CACpBlnF,IAAKA,EACLwnF,UAAWA,EACXI,MAAO9+E,EAAQ8+E,MACfF,OAAQ5+E,EAAQ4+E,OAChBH,QAASz+E,EAAQy+E,QACjBD,eAAgBx+E,EAAQw+E,iBAE1BM,MAAO9+E,EAAQ8+E,MACfsE,SAAUA,EACVY,WAAY,CAAC,EACb/E,OAAQkE,GAGV,OADAjmD,EAAMkiD,MAAMl+C,QAAQmiD,GACbnmD,CACT,EExjBA,IAAI+mD,GAAiB,SAAwB/mD,EAAO2mD,EAAYK,GAC9D,IAAIl6C,EAAY9M,EAAMhmC,IAAM,IAAM2sF,EAAWr0F,MAO5B,IAAhB00F,QAIwDr8F,IAAhCq1C,EAAM8mD,WAAWh6C,KACxC9M,EAAM8mD,WAAWh6C,GAAa65C,EAAWE,OAE7C,EC2BA,OAnDA,SAAiBlmB,GAYf,IANA,IAEIlmE,EAFAD,EAAI,EAGJzF,EAAI,EACJ+sD,EAAM6e,EAAIx6E,OAEP27D,GAAO,IAAK/sD,EAAG+sD,GAAO,EAE3BrnD,EAEe,YAAV,OAHLA,EAAwB,IAApBkmE,EAAI8C,WAAW1uE,IAAmC,IAAtB4rE,EAAI8C,aAAa1uE,KAAc,GAA2B,IAAtB4rE,EAAI8C,aAAa1uE,KAAc,IAA4B,IAAtB4rE,EAAI8C,aAAa1uE,KAAc,MAG9F,OAAZ0F,IAAM,KAAgB,IAIpDD,EAEe,YAAV,OALLC,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJD,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQsnD,GACN,KAAK,EACHtnD,IAA8B,IAAxBmmE,EAAI8C,WAAW1uE,EAAI,KAAc,GAEzC,KAAK,EACHyF,IAA8B,IAAxBmmE,EAAI8C,WAAW1uE,EAAI,KAAc,EAEzC,KAAK,EAEHyF,EAEe,YAAV,OAHLA,GAAyB,IAApBmmE,EAAI8C,WAAW1uE,MAGsB,OAAZyF,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAGxV,SAAS,GACzC,ECHA,GAjDmB,CACjBmf,wBAAyB,EACzBE,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBshF,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBxhF,WAAY,EACZE,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNghF,gBAAiB,EAEjB/gF,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GCtCf,OARA,SAAiB09C,GACf,IAAIvkB,EAAQh9C,OAAOO,OAAO,MAC1B,OAAO,SAAUu/D,GAEf,YADmBn4D,IAAfq1C,EAAM8iB,KAAoB9iB,EAAM8iB,GAAOyB,EAAGzB,IACvC9iB,EAAM8iB,EACf,CACF,ECAIwkC,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0B9/F,GAC/C,OAAkC,KAA3BA,EAAS+7E,WAAW,EAC7B,EAEIgkB,GAAqB,SAA4BhgG,GACnD,OAAgB,MAATA,GAAkC,mBAAVA,CACjC,EAEIigG,GAAkCC,IAAQ,SAAUC,GACtD,OAAOJ,GAAiBI,GAAaA,EAAYA,EAAUxiG,QAAQkiG,GAAgB,OAAOxiG,aAC5F,IAEI+iG,GAAoB,SAA2B7tF,EAAKvS,GACtD,OAAQuS,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,kBAAVvS,EACT,OAAOA,EAAMrC,QAAQmiG,IAAgB,SAAUriG,EAAO6/E,EAAIC,GAMxD,OALA8iB,GAAS,CACPx1F,KAAMyyE,EACN8hB,OAAQ7hB,EACR97C,KAAM4+D,IAED/iB,CACT,IAKR,OAAsB,IAAlBgjB,GAAS/tF,IAAewtF,GAAiBxtF,IAAyB,kBAAVvS,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EAgCA,SAASugG,GAAoBC,EAAanB,EAAYoB,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,QAAuCv9F,IAAnCu9F,EAAcC,iBAKhB,OAAOD,EAGT,cAAeA,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,GAA2B,IAAvBA,EAAcE,KAMhB,OALAN,GAAS,CACPx1F,KAAM41F,EAAc51F,KACpBu0F,OAAQqB,EAAcrB,OACtB39D,KAAM4+D,IAEDI,EAAc51F,KAGvB,QAA6B3H,IAAzBu9F,EAAcrB,OAAsB,CACtC,IAAI39D,EAAOg/D,EAAch/D,KAEzB,QAAav+B,IAATu+B,EAGF,UAAgBv+B,IAATu+B,GACL4+D,GAAS,CACPx1F,KAAM42B,EAAK52B,KACXu0F,OAAQ39D,EAAK29D,OACb39D,KAAM4+D,IAER5+D,EAAOA,EAAKA,KAUhB,OANag/D,EAAcrB,OAAS,GAOtC,CAEA,OA2CR,SAAgCoB,EAAanB,EAAYzlC,GACvD,IAAIxc,EAAS,GAEb,GAAIxgD,MAAMue,QAAQy+C,GAChB,IAAK,IAAItsD,EAAI,EAAGA,EAAIssD,EAAIl7D,OAAQ4O,IAC9B8vC,GAAUmjD,GAAoBC,EAAanB,EAAYzlC,EAAItsD,IAAM,SAGnE,IAAK,IAAI3O,KAAQi7D,EAAK,CACpB,IAAI55D,EAAQ45D,EAAIj7D,GAEhB,GAAqB,kBAAVqB,EACS,MAAdq/F,QAA4Cn8F,IAAtBm8F,EAAWr/F,GACnCo9C,GAAUz+C,EAAO,IAAM0gG,EAAWr/F,GAAS,IAClCggG,GAAmBhgG,KAC5Bo9C,GAAU6iD,GAAiBthG,GAAQ,IAAMyhG,GAAkBzhG,EAAMqB,GAAS,UAO5E,IAAIpD,MAAMue,QAAQnb,IAA8B,kBAAbA,EAAM,IAAkC,MAAdq/F,QAA+Cn8F,IAAzBm8F,EAAWr/F,EAAM,IAM7F,CACL,IAAI4gG,EAAeL,GAAoBC,EAAanB,EAAYr/F,GAEhE,OAAQrB,GACN,IAAK,YACL,IAAK,gBAEDy+C,GAAU6iD,GAAiBthG,GAAQ,IAAMiiG,EAAe,IACxD,MAGJ,QAMIxjD,GAAUz+C,EAAO,IAAMiiG,EAAe,IAG9C,MAzBE,IAAK,IAAIlmC,EAAK,EAAGA,EAAK16D,EAAMtB,OAAQg8D,IAC9BslC,GAAmBhgG,EAAM06D,MAC3Btd,GAAU6iD,GAAiBthG,GAAQ,IAAMyhG,GAAkBzhG,EAAMqB,EAAM06D,IAAO,IAyBxF,CAGF,OAAOtd,CACT,CAjGeyjD,CAAuBL,EAAanB,EAAYoB,GAG3D,IAAK,WAED,QAAoBv9F,IAAhBs9F,EAA2B,CAC7B,IAAIM,EAAiBT,GACjB9jC,EAASkkC,EAAcD,GAE3B,OADAH,GAASS,EACFP,GAAoBC,EAAanB,EAAY9iC,EACtD,EAyBN,GAAkB,MAAd8iC,EACF,OAAOoB,EAGT,IAAIM,EAAS1B,EAAWoB,GACxB,YAAkBv9F,IAAX69F,EAAuBA,EAASN,CACzC,CA0DA,IASIJ,GATAW,GAAe,iCAUnB,IAAIC,GAAkB,SAAyB5kG,EAAMgjG,EAAYmB,GAC/D,GAAoB,IAAhBnkG,EAAKqC,QAAmC,kBAAZrC,EAAK,IAA+B,OAAZA,EAAK,SAAkC6G,IAAnB7G,EAAK,GAAG+iG,OAClF,OAAO/iG,EAAK,GAGd,IAAI6kG,GAAa,EACb9B,EAAS,GACbiB,QAASn9F,EACT,IAAIi+F,EAAU9kG,EAAK,GAEJ,MAAX8kG,QAAmCj+F,IAAhBi+F,EAAQC,KAC7BF,GAAa,EACb9B,GAAUmB,GAAoBC,EAAanB,EAAY8B,IAMvD/B,GAAU+B,EAAQ,GAIpB,IAAK,IAAI7zF,EAAI,EAAGA,EAAIjR,EAAKqC,OAAQ4O,IAC/B8xF,GAAUmB,GAAoBC,EAAanB,EAAYhjG,EAAKiR,IAExD4zF,IAKF9B,GAAU+B,EAAQ7zF,IActB0zF,GAAatkB,UAAY,EAIzB,IAHA,IACIj/E,EADA4jG,EAAiB,GAG0B,QAAvC5jG,EAAQujG,GAAajkB,KAAKqiB,KAChCiC,GAAkB,IAClB5jG,EAAM,GAkBR,MAAO,CACLoN,KAhBSy2F,GAAWlC,GAAUiC,EAiB9BjC,OAAQA,EACR39D,KAAM4+D,GAEV,EClTI70D,KAAqBo7B,EAA+B,oBAAIA,EAA+B,mBACvF26B,GAA4C/1D,IAL7B,SAAsB1vC,GACvC,OAAOA,GACT,ECIIma,IDAuCu1B,IAAsBC,EAAAA,gBCA5C,CAAC,EAAEx1B,gBAEpBurF,IAAqClrC,EAAAA,EAAAA,eAMlB,qBAAhB7C,YAA6CguC,GAAY,CAC9DlvF,IAAK,QACF,MAMeivF,GAAoB/qC,SAAxC,IAKIirC,GAAmB,SAA0BpjG,GAE/C,OAAoBi2D,EAAAA,EAAAA,aAAW,SAAU3vB,EAAOM,GAE9C,IAAIqT,GAAQlN,EAAAA,EAAAA,YAAWm2D,IACvB,OAAOljG,EAAKsmC,EAAO2T,EAAOrT,EAC5B,GACF,EAEIy8D,IAA8BrrC,EAAAA,EAAAA,eAAc,CAAC,GA6DjD,IA2CIsrC,GAAe,qCAEfC,GAAqB,SAA4BlxF,EAAMi0B,GAMzD,IAAIk9D,EAAW,CAAC,EAEhB,IAAK,IAAIvvF,KAAOqyB,EACV3uB,GAAehK,KAAK24B,EAAOryB,KAC7BuvF,EAASvvF,GAAOqyB,EAAMryB,IAY1B,OARAuvF,EAASF,IAAgBjxF,EAQlBmxF,CACT,EAEIC,GAAY,SAAmBhmG,GACjC,IAAIw8C,EAAQx8C,EAAKw8C,MACb2mD,EAAanjG,EAAKmjG,WAClBK,EAAcxjG,EAAKwjG,YACvBD,GAAe/mD,EAAO2mD,EAAYK,GACtBgC,IAAyC,WACnD,ONpJe,SAAsBhpD,EAAO2mD,EAAYK,GAC1DD,GAAe/mD,EAAO2mD,EAAYK,GAClC,IAAIl6C,EAAY9M,EAAMhmC,IAAM,IAAM2sF,EAAWr0F,KAE7C,QAAwC3H,IAApCq1C,EAAMkmD,SAASS,EAAWr0F,MAAqB,CACjD,IAAI6Y,EAAUw7E,EAEd,GACoB3mD,EAAM+hD,OAAO4E,IAAex7E,EAAU,IAAM2hC,EAAY,GAAI3hC,EAAS60B,EAAMkiD,OAAO,GAEpG/2E,EAAUA,EAAQ+d,gBACCv+B,IAAZwgB,EACX,CACF,CMuIWs+E,CAAazpD,EAAO2mD,EAAYK,EACzC,IAEA,OAAO,IACT,EAEI0C,GAAyBP,IAAiB,SAAU98D,EAAO2T,EAAOrT,GACpE,IAAIg9D,EAAUt9D,EAAMu9D,IAIG,kBAAZD,QAAsDh/F,IAA9Bq1C,EAAM8mD,WAAW6C,KAClDA,EAAU3pD,EAAM8mD,WAAW6C,IAG7B,IAAIE,EAAmBx9D,EAAMg9D,IACzBS,EAAmB,CAACH,GACpB78C,EAAY,GAEe,kBAApBzgB,EAAMygB,UACfA,ENnMJ,SAA6Bg6C,EAAYgD,EAAkBC,GACzD,IAAIC,EAAe,GAQnB,OAPAD,EAAWzrF,MAAM,KAAK/Z,SAAQ,SAAUuoD,QACRniD,IAA1Bm8F,EAAWh6C,GACbg9C,EAAiBnlG,KAAKmiG,EAAWh6C,GAAa,KAE9Ck9C,GAAgBl9C,EAAY,GAEhC,IACOk9C,CACT,CMyLgBC,CAAoBjqD,EAAM8mD,WAAYgD,EAAkBz9D,EAAMygB,WAC9C,MAAnBzgB,EAAMygB,YACfA,EAAYzgB,EAAMygB,UAAY,KAGhC,IAAI65C,EAAa+B,GAAgBoB,OAAkBn/F,GAAWmoC,EAAAA,EAAAA,YAAWs2D,KAUzEt8C,GAAa9M,EAAMhmC,IAAM,IAAM2sF,EAAWr0F,KAC1C,IAAIi3F,EAAW,CAAC,EAEhB,IAAK,IAAIvvF,KAAOqyB,EACV3uB,GAAehK,KAAK24B,EAAOryB,IAAgB,QAARA,GAAiBA,IAAQqvF,KAC9DE,EAASvvF,GAAOqyB,EAAMryB,IAM1B,OAFAuvF,EAAS58D,IAAMA,EACf48D,EAASz8C,UAAYA,GACD3gD,EAAAA,EAAAA,eAAcwP,EAAAA,SAAU,MAAmBxP,EAAAA,EAAAA,eAAcq9F,GAAW,CACtFxpD,MAAOA,EACP2mD,WAAYA,EACZK,YAAyC,kBAArB6C,KACL19F,EAAAA,EAAAA,eAAc09F,EAAkBN,GACnD,6BCjGInsC,GAAM,SAAahlD,EAAMi0B,GAC3B,IAAIvoC,EAAOoC,UAEX,GAAa,MAATmmC,IAAkB3uB,GAAAA,KAAoB2uB,EAAO,OAE/C,OAAOlgC,EAAAA,cAAAA,WAAoBxB,EAAW7G,GAGxC,IAAIomG,EAAapmG,EAAKqC,OAClBgkG,EAAwB,IAAI9lG,MAAM6lG,GACtCC,EAAsB,GAAKT,GAC3BS,EAAsB,GAAKb,GAAmBlxF,EAAMi0B,GAEpD,IAAK,IAAIt3B,EAAI,EAAGA,EAAIm1F,EAAYn1F,IAC9Bo1F,EAAsBp1F,GAAKjR,EAAKiR,GAIlC,OAAO5I,EAAAA,cAAAA,MAAoB,KAAMg+F,EACnC,EAoFA,SAASP,KACP,IAAK,IAAI3jG,EAAOC,UAAUC,OAAQrC,EAAO,IAAIO,MAAM4B,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EtC,EAAKsC,GAAQF,UAAUE,GAGzB,OAAOsiG,GAAgB5kG,EACzB,eC/Oi/C,SAAS6C,GAAEmU,GAAG,OAAAi+D,GAAAA,GAAA,GAAUj+D,GAAC,IAAC2jB,IAAI3jB,EAAEG,EAAEsjB,KAAKzjB,EAAE/W,EAAE4mD,MAAM7vC,EAAE/W,EAAE+W,EAAE4c,MAAMkzB,OAAO9vC,EAAEG,EAAEH,EAAE6c,QAAO,CAA2hC5K,KAAK0Q,IAAM1Q,KAAKk7B,IAAyC,IAA0tB1tC,GAAE,CAAC,MAAM,QAAQ,SAAS,QAAUA,GAAE6vC,QAAQ,SAACtvC,EAAElT,GAAC,OAAGkT,EAAEnN,OAAO/F,EAAEA,EAAE,SAASA,EAAE,OAAO,GAAE,ICA5wG,SAASP,GAAEyT,GAAG,IAAIlT,EAAE,OAAO,OAAOA,EAAEkT,EAAEzO,oBAAe,EAAOzE,EAAE81B,cAAch0B,MAAM,CAAC,SAASg7C,GAAE5pC,GAAG,OAAOzT,GAAEyT,GAAG4vC,iBAAiB5vC,EAAE,CAASiS,KAAK0Q,IAAM1Q,KAAKk7B,IAAxB,IAAmSpgD,GAAvQlB,GAAEomB,KAAK+9B,MAAM,SAASzwC,GAAES,GAAG,IAAMlT,EAAE88C,GAAE5pC,GAAOzT,EAAE8iD,WAAWviD,EAAE8vB,OAAO3iB,EAAEo1C,WAAWviD,EAAE+vB,QAAc9c,EAAEC,EAAE67C,YAAYt8C,EAAES,EAAE87C,aAAaxvD,EAAET,GAAEU,KAAKwT,GAAGlU,GAAEoO,KAAKsF,EAAE,OAAOjT,IAAIC,EAAEwT,EAAE9F,EAAEsF,GAAG,CAACqd,MAAMrwB,EAAEswB,OAAO5iB,EAAEoiC,SAAS/vC,EAAE,CAAC,SAASA,GAAE0T,GAAG,OAAON,GAAEM,IAAIA,EAAE7G,UAAU,IAAInP,cAAc,EAAE,CAAO,SAASsW,KAAI,GAAGvT,GAAE,OAAOA,GAAE,IAAMiT,EAAEmkD,UAAUmrC,cAAc,OAAOtvF,GAAGzW,MAAMue,QAAQ9H,EAAEuvF,QAASxiG,GAAEiT,EAAEuvF,OAAOv+C,KAAK,SAAAhxC,GAAC,OAAEA,EAAEwvF,MAAM,IAAIxvF,EAAEhQ,OAAO,IAAGiiC,KAAK,KAAQkyB,UAAU4wB,SAAS,CAAC,SAAS10E,GAAEL,GAAG,OAAOA,aAAazT,GAAEyT,GAAGogD,WAAW,CAAC,SAAS5gD,GAAEQ,GAAG,OAAOA,aAAazT,GAAEyT,GAAGxP,OAAO,CAAC,SAASkP,GAAEM,GAAG,OAAOA,aAAazT,GAAEyT,GAAGzP,IAAI,CAAC,SAASsP,GAAEG,GAAG,MAAG,oBAAoByvF,aAA2BzvF,aAAazT,GAAEyT,GAAGyvF,YAAYzvF,aAAayvF,WAAU,CAAC,SAAShwF,GAAEO,GAAG,IAAA0vF,EAAoD9lD,GAAE5pC,GAAvClT,EAAC4iG,EAAVrjE,SAAqB9/B,EAACmjG,EAAXC,UAAsB11F,EAACy1F,EAAXE,UAAoB7vF,EAAC2vF,EAATjvD,QAAgB,MAAM,kCAAkC51C,KAAKiC,EAAEmN,EAAE1N,KAAK,CAAC,SAAS,YAAYsZ,SAAS9F,EAAE,CAA4b,SAAS9W,KAAI,MAAM,iCAAiC4B,KAAKyV,KAAI,CAAC,SAASJ,GAAEF,GAAG,MAAM,CAAC,OAAO,OAAO,aAAa6F,SAASvZ,GAAE0T,GAAG,CAAC,SAASC,GAAED,GAAG,OAAOR,GAAEQ,GAAGA,EAAEA,EAAE6vF,cAAc,CAAC,IAAMzwF,GAAE,CAACnW,EAAE,EAAEkX,EAAE,GAAG,SAASqwB,GAAExwB,GAAG,IAAMlT,EAAEmT,GAAED,GAAG,IAAIK,GAAEvT,GAAG,OAAOsS,GAAQ,IAAA7S,EAAEO,EAAE+yD,wBAAuBiwC,EAA+BvwF,GAAEzS,GAAzB88C,EAACkmD,EAAPlzE,MAAe3iB,EAAC61F,EAARjzE,OAAkB9c,EAAC+vF,EAAVzzD,SAAqB/vC,GAAGyT,EAAElU,GAAEU,EAAEqwB,OAAOrwB,EAAEqwB,OAAOgtB,EAAE78C,GAAGgT,EAAElU,GAAEU,EAAEswB,QAAQtwB,EAAEswB,QAAQ5iB,EAAE,OAAO3N,GAAGk1D,OAAOC,SAASn1D,KAAKA,EAAE,GAAGS,GAAGy0D,OAAOC,SAAS10D,KAAKA,EAAE,GAAG,CAAC9D,EAAEqD,EAAE6T,EAAEpT,EAAE,CAAC,SAASy8B,GAAE18B,EAAE88C,EAAE3vC,EAAE8F,GAAG,IAAIlU,EAAE0T,OAAE,IAASqqC,IAAIA,GAAE,QAAI,IAAS3vC,IAAIA,GAAE,GAAI,IAAM3N,EAAEQ,EAAE+yD,wBAAwB9yD,EAAEkT,GAAEnT,GAAOwT,EAAElB,GAAEwqC,IAAI7pC,EAAEP,GAAEO,KAAKO,EAAEkwB,GAAEzwB,IAAIO,EAAEkwB,GAAE1jC,IAAI,IAAMuT,EAAEtT,EAAER,GAAEQ,GAAG6B,OAAO8Q,EAAEzW,MAAKgR,EAAM4F,GAAGvT,EAAEm3B,MAAM/jB,IAAI,OAAO7T,EAAEwU,EAAE0vF,qBAAgB,EAAOlkG,EAAEmkG,aAAa,IAAI1vF,EAAErX,EAAEwW,GAAGnT,EAAEq3B,KAAKjkB,IAAI,OAAOH,EAAEc,EAAE0vF,qBAAgB,EAAOxwF,EAAE0wF,YAAY,IAAI3vF,EAAEH,EAAEP,EAAEtT,EAAEswB,MAAMtc,EAAErX,EAAEkX,EAAE7T,EAAEuwB,OAAOvc,EAAEH,EAAE,GAAGpT,EAAsD,IAAnD,IAAMiT,EAAEzT,GAAEQ,GAAGD,EAAEiT,GAAGP,GAAEO,GAAGxT,GAAEwT,GAAGA,EAAM6pC,EAAE5pC,EAAEkwF,aAAkBtmD,GAAG7pC,GAAGjT,IAAIkT,GAAG,CAAC,IAAMA,EAAEwwB,GAAEoZ,GAAG98C,EAAE88C,EAAEiW,wBAAwB5lD,EAAE21C,iBAAiBhG,GAAG98C,EAAE7D,IAAI2gD,EAAEumD,WAAW9gD,WAAWp1C,EAAEm2F,cAAcpwF,EAAE/W,EAAE6D,EAAEqT,IAAIypC,EAAEymD,UAAUhhD,WAAWp1C,EAAEq2F,aAAatwF,EAAEG,EAAEN,GAAGG,EAAE/W,EAAEwW,GAAGO,EAAEG,EAAEP,GAAGI,EAAE/W,EAAEkX,GAAGH,EAAEG,EAAEN,GAAG/S,EAAE7D,EAAEwW,GAAG3S,EAAEqT,EAAEypC,EAAEr9C,GAAEq9C,GAAGsmD,YAAY,CAAE,OAAOlwF,GAAE,CAAC4c,MAAMhd,EAAEid,OAAO1c,EAAElX,EAAE4W,EAAEM,EAAEV,GAAG,CAAC,SAASy2B,GAAEl2B,GAAG,QAAQN,GAAEM,GAAGA,EAAEzO,cAAcyO,EAAEjR,WAAWH,OAAOG,UAAUsJ,eAAe,CAAgL,SAASouB,GAAEzmB,GAAG,GAAG,SAAS1T,GAAE0T,GAAG,OAAOA,EAAE,IAAMlT,EAAEkT,EAAEuwF,cAAcvwF,EAAE5I,YAAYyI,GAAEG,IAAIA,EAAEk1E,MAAMh/C,GAAEl2B,GAAG,OAAOH,GAAE/S,GAAGA,EAAEooF,KAAKpoF,CAAC,CAAC,SAASiyC,GAAE/+B,GAAG,IAAMlT,EAAE25B,GAAEzmB,GAAG,OAAOE,GAAEpT,GAAGA,EAAEyE,cAAciH,KAAK6H,GAAEvT,IAAI2S,GAAE3S,GAAGA,EAAEiyC,GAAEjyC,EAAE,CAAC,SAAS+4B,GAAE7lB,EAAElT,GAAG,IAAI88C,OAAE,IAAS98C,IAAIA,EAAE,IAAI,IAAMmN,EAAE8kC,GAAE/+B,GAAGD,EAAE9F,KAAK,OAAO2vC,EAAE5pC,EAAEzO,oBAAe,EAAOq4C,EAAEpxC,MAAM3M,EAAEU,GAAE0N,GAAG,OAAO8F,EAAEjT,EAAE+F,OAAOhH,EAAEA,EAAEkkG,gBAAgB,GAAGtwF,GAAExF,GAAGA,EAAE,IAAInN,EAAE+F,OAAOoH,EAAE4rB,GAAE5rB,GAAG,CAAk/H,ICI3zO,GAFam+B,EAAAA,goKCFkC01D,GAASC,qwCJiPxC,WACd,IAAIyC,EAAa1B,GAAIlmG,WAAM,EAAQwC,WAC/BoM,EAAO,aAAeg5F,EAAWh5F,KAErC,MAAO,CACLA,KAAMA,EACNu0F,OAAQ,cAAgBv0F,EAAO,IAAMg5F,EAAWzE,OAAS,IACzDuB,KAAM,EACNpjG,SAAU,WACR,MAAO,QAAU8Y,KAAKxL,KAAO,IAAMwL,KAAK+oF,OAAS,OACnD,EAEJ,OI7P+C+B,kEACxCC,KACHA,GAAMD,GAAQjqF,MAAM,OAEf3b,OAAOK,OAAOL,OAAOgrD,iBAAiB46C,GAAS,CACpDC,IAAK,CACHphG,MAAOzE,OAAOK,OAAOwlG,82HFNmgN,SAAW/tF,EAAElT,EAAEP,EAAEq9C,QAAG,IAASA,IAAIA,EAAE,CAAC,GAAG,IAAA6mD,EAAsF7mD,EAAC8mD,EAAAD,EAAjFE,eAAe12F,OAAC,IAAAy2F,GAAGA,EAAAE,EAAAH,EAACI,eAAe9wF,OAAC,IAAA6wF,GAAGA,EAAAE,EAAAL,EAACM,cAAcllG,OAAC,IAAAilG,GAAGA,EAAAE,EAAAP,EAACQ,eAAe1xF,OAAC,IAAAyxF,GAAGA,EAAI1kG,EAAE2N,IAAIsF,EAAExS,EAAET,GAAGyT,EAAC,GAAAlN,OAAAzJ,EAAKoW,GAAEQ,GAAG6lB,GAAE7lB,GAAGA,EAAE6vF,eAAehqE,GAAE7lB,EAAE6vF,gBAAgB,IAAEzmG,EAAIy8B,GAAE/4B,KAAI,GAAGC,EAAEtD,SAAS,SAAAuW,GAAI1T,GAAG0T,EAAEgP,iBAAiB,SAASziB,EAAE,CAACg6B,SAAQ,IAAKxmB,GAAGC,EAAEgP,iBAAiB,SAASziB,EAAE,IAAI,IAAI+T,EAAED,EAAE,KAAK,GAAGxU,EAAE,CAAC,IAAI+9C,GAAE,EAAGvpC,EAAE,IAAI4wC,gBAAgB,WAAKrH,GAAGr9C,IAAIq9C,GAAE,CAAE,IAAIpqC,GAAEQ,KAAKT,GAAGc,EAAEyuC,QAAQ9uC,GAAGR,GAAEQ,KAAKA,EAAE6vF,gBAAgBtwF,GAAGc,EAAEyuC,QAAQ9uC,EAAE6vF,gBAAgBxvF,EAAEyuC,QAAQhiD,EAAE,CAAC,IAAI4S,EAAEH,EAAEiqB,GAAExpB,GAAG,KAAK,OAAOT,GAAG,SAASzS,IAAI,IAAM88C,EAAEpgB,GAAExpB,IAAIN,GAAGkqC,EAAE3gD,IAAIyW,EAAEzW,GAAG2gD,EAAEzpC,IAAIT,EAAES,GAAGypC,EAAEhtB,QAAQld,EAAEkd,OAAOgtB,EAAE/sB,SAASnd,EAAEmd,QAAQtwB,IAAImT,EAAEkqC,EAAEtpC,EAAEstC,sBAAsB9gD,EAAE,CAA9H,GAAkIP,IAAI,WAAK,IAAIyT,EAAEjT,EAAEtD,SAAS,SAAAuW,GAAI1T,GAAG0T,EAAEiP,oBAAoB,SAAS1iB,GAAGwT,GAAGC,EAAEiP,oBAAoB,SAAS1iB,EAAE,IAAI,OAAOyT,EAAEK,IAAIL,EAAEkvC,aAAa7uC,EAAE,KAAKd,GAAG2xF,qBAAqB5wF,EAAE,CAAC,6jEGAtzO6wF,GAAY3vC,OAAOz9C,OACnB,SAAkBpX,GACd,MAAwB,kBAAVA,GAAsBA,IAAUA,CAClD,EAUJ,SAASykG,GAAeC,EAAWC,GAC/B,GAAID,EAAUhmG,SAAWimG,EAAWjmG,OAChC,OAAO,EAEX,IAAK,IAAI4O,EAAI,EAAGA,EAAIo3F,EAAUhmG,OAAQ4O,IAClC,GAdSixC,EAcImmD,EAAUp3F,GAdPs3F,EAcWD,EAAWr3F,KAbtCixC,IAAUqmD,GAGVJ,GAAUjmD,IAAUimD,GAAUI,IAW1B,OAAO,EAfnB,IAAiBrmD,EAAOqmD,EAkBpB,OAAO,CACX,+4UAEA,SAAoBC,EAAUC,QACV,IAAZA,IAAsBA,EAAUL,IACpC,IAAIlsD,EAAQ,KACZ,SAASwsD,IAEL,IADA,IAAIC,EAAU,GACLtqC,EAAK,EAAGA,EAAKj8D,UAAUC,OAAQg8D,IACpCsqC,EAAQtqC,GAAMj8D,UAAUi8D,GAE5B,GAAIniB,GAASA,EAAM0sD,WAAa5uF,MAAQyuF,EAAQE,EAASzsD,EAAM2sD,UAC3D,OAAO3sD,EAAM4sD,WAEjB,IAAIA,EAAaN,EAAS5oG,MAAMoa,KAAM2uF,GAMtC,OALAzsD,EAAQ,CACJ4sD,WAAYA,EACZD,SAAUF,EACVC,SAAU5uF,MAEP8uF,CACX,CAIA,OAHAJ,EAAS/jD,MAAQ,WACbzI,EAAQ,IACZ,EACOwsD,CACX,41jCCtBA,IAAIK,IAAkC7wC,EAAAA,EAAAA,aAAW,SAAU3vB,EAAOM,GAChE,IAAImgE,EvBrBN,SAAyBtpG,GACvB,IAAIupG,EAAwBvpG,EAAKwpG,kBAC/BA,OAA8C,IAA1BD,EAAmC,GAAKA,EAC5DE,EAAwBzpG,EAAK0pG,kBAC7BA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAoB3pG,EAAKye,aACzBA,OAAqC,IAAtBkrF,EAA+B,KAAOA,EACrDC,EAAkB5pG,EAAK6pG,WACvBC,EAAkB9pG,EAAK+pG,WACvBC,EAAgBhqG,EAAKq1E,SACrB40B,EAAqBjqG,EAAKkqG,cAC1BC,EAAmBnqG,EAAKoqG,YACxBC,EAAkBrqG,EAAKsqG,WACvBC,EAAavqG,EAAKiE,MAClBumG,EAAkBC,GAAyBzqG,EAAMmyE,IAEjDwC,EAAa3wE,GADC8rC,EAAAA,EAAAA,eAA6B3oC,IAApByiG,EAAgCA,EAAkBJ,GAClC,GACvCkB,EAAkB/1B,EAAW,GAC7Bg2B,EAAqBh2B,EAAW,GAEhCI,EAAa/wE,GADE8rC,EAAAA,EAAAA,eAA6B3oC,IAApB2iG,EAAgCA,EAAkBJ,GAClC,GACxCkB,EAAkB71B,EAAW,GAC7B81B,EAAqB91B,EAAW,GAEhCoB,EAAanyE,GADE8rC,EAAAA,EAAAA,eAAwB3oC,IAAfojG,EAA2BA,EAAa9rF,GACxB,GACxCqsF,EAAa30B,EAAW,GACxB40B,EAAgB50B,EAAW,GACzBd,GAAWhmC,EAAAA,EAAAA,cAAY,SAAUprC,EAAO+mG,GACb,oBAAlBhB,GACTA,EAAc/lG,EAAO+mG,GAEvBD,EAAc9mG,EAChB,GAAG,CAAC+lG,IACAE,GAAgB76D,EAAAA,EAAAA,cAAY,SAAUprC,EAAO+mG,GAC/C,IAAIC,EAC8B,oBAAvBhB,IACTgB,EAAWhB,EAAmBhmG,EAAO+mG,IAEvCL,OAAgCxjG,IAAb8jG,EAAyBA,EAAWhnG,EACzD,GAAG,CAACgmG,IACAK,GAAaj7D,EAAAA,EAAAA,cAAY,WACI,oBAApBg7D,GACTA,IAEFQ,GAAmB,EACrB,GAAG,CAACR,IACAD,GAAc/6D,EAAAA,EAAAA,cAAY,WACI,oBAArB86D,GACTA,IAEFU,GAAmB,EACrB,GAAG,CAACV,IACAN,OAAiC1iG,IAApByiG,EAAgCA,EAAkBc,EAC/DX,OAAiC5iG,IAApB2iG,EAAgCA,EAAkBc,EAC/D3mG,OAAuBkD,IAAfojG,EAA2BA,EAAaO,EACpD,OAAOv1B,GAAcA,GAAc,CAAC,EAAGi1B,GAAkB,CAAC,EAAG,CAC3DX,WAAYA,EACZE,WAAYA,EACZ10B,SAAUA,EACV60B,cAAeA,EACfE,YAAaA,EACbE,WAAYA,EACZrmG,MAAOA,GAEX,CuB3CwBinG,CAAgBriE,GACtC,OAAoBgiC,EAAAA,cAAoBsgC,GAAQ3pC,GAAS,CACvDr4B,IAAKA,GACJmgE,GACL,IAiBA,MCrBA,GAvBiB,SAAHtpG,GAAkD,IAA7Csf,EAAOtf,EAAPsf,QAASb,EAAYze,EAAZye,aAAcxa,EAAKjE,EAALiE,MAAOoxE,EAAQr1E,EAARq1E,SACzC+1B,EAAgB9rF,EAAQgpC,KAAI,SAACm7B,GAAM,MAAM,CAC7Cx/E,MAAOw/E,EAAOx/E,MACdonG,MAAO5nB,EAAO30E,KACf,IAEKw8F,EAAcF,EAAcG,MAAK,SAAC9nB,GAAM,OAAKA,EAAOx/E,QAAUA,CAAK,IACzE,OACEixE,EAAAA,GAAAA,KAAA,OAAK5rB,UAAU,qBAAoB1pC,UACjCs1D,EAAAA,GAAAA,KAACi2B,GAAM,CACL7hD,UAAU,YACVkiD,gBAAgB,YAChB/sF,aAAc,CAAExa,MAAO,GAAIonG,MAAO5sF,GAClCa,QAAS8rF,EACTnnG,MAAOqnG,EACPG,cAAc,EACdp2B,SAAU,SAACq2B,GAAc,OAAKr2B,EAASq2B,EAAeznG,MAAM,KAKpE,ECxBW0nG,GAA6B,CACpC,aAAa,EACb56C,KAAM,yCCmmBV,OAtmBA,SAAqB1a,GACnB,SAAS1L,EAAE7zB,EAAGD,EAAGzS,EAAG4S,EAAGW,GACrB,IAAK,IAAgCP,EAAGL,EAAiBE,EAAuEQ,EAAmCoT,EAA1J3T,EAAI,EAAGR,EAAI,EAAGa,EAAI,EAAG1T,EAAI,EAAStD,EAAI,EAAGymC,EAAI,EAAMpvB,EAAIX,EAAIG,EAAI,EAAGjU,EAAI,EAAGkU,EAAI,EAAG8rB,EAAI,EAAG7rB,EAAI,EAAGgR,EAAIlkB,EAAEzB,OAAQm7B,EAAIxV,EAAI,EAAMjkB,EAAI,GAAI8S,EAAI,GAAI4mB,EAAI,GAAIgD,EAAI,GAAO59B,EAAImlB,GAAI,CAI5K,GAHAvR,EAAI3S,EAAE67E,WAAW98E,GACjBA,IAAM26B,GAAK,IAAMpnB,EAAI7S,EAAI0T,EAAIL,IAAM,IAAMR,IAAMK,EAAI,KAAOL,EAAI,GAAK,IAAK7S,EAAI0T,EAAIL,EAAI,EAAGoR,IAAKwV,KAExF,IAAMpnB,EAAI7S,EAAI0T,EAAIL,EAAG,CACvB,GAAI/T,IAAM26B,IAAM,EAAIzmB,IAAMhT,EAAIA,EAAEzC,QAAQypC,EAAG,KAAM,EAAIhnC,EAAErC,OAAOW,QAAS,CACrE,OAAQoU,GACN,KAAK,GACL,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,GACH,MAEF,QACE1S,GAAKD,EAAEuf,OAAOxgB,GAGlB4T,EAAI,EACN,CAEA,OAAQA,GACN,KAAK,IAKH,IAHAK,GADA/S,EAAIA,EAAErC,QACAi+E,WAAW,GACjBhpE,EAAI,EAECK,IAAMnU,EAAGA,EAAImlB,GAAI,CACpB,OAAQvR,EAAI3S,EAAE67E,WAAW98E,IACvB,KAAK,IACH8T,IACA,MAEF,KAAK,IACHA,IACA,MAEF,KAAK,GACH,OAAQF,EAAI3S,EAAE67E,WAAW98E,EAAI,IAC3B,KAAK,GACL,KAAK,GACHwU,EAAG,CACD,IAAKC,EAAIzU,EAAI,EAAGyU,EAAIkmB,IAAKlmB,EACvB,OAAQxT,EAAE67E,WAAWroE,IACnB,KAAK,GACH,GAAI,KAAOb,GAAK,KAAO3S,EAAE67E,WAAWroE,EAAI,IAAMzU,EAAI,IAAMyU,EAAG,CACzDzU,EAAIyU,EAAI,EACR,MAAMD,CACR,CAEA,MAEF,KAAK,GACH,GAAI,KAAOZ,EAAG,CACZ5T,EAAIyU,EAAI,EACR,MAAMD,CACR,EAKNxU,EAAIyU,CACN,EAIJ,MAEF,KAAK,GACHb,IAEF,KAAK,GACHA,IAEF,KAAK,GACL,KAAK,GACH,KAAO5T,IAAM26B,GAAK15B,EAAE67E,WAAW98E,KAAO4T,KAK1C,GAAI,IAAME,EAAG,MACb9T,GACF,CAKA,GAHA8T,EAAI7S,EAAEwf,UAAUtM,EAAGnU,GACnB,IAAMiU,IAAMA,GAAK/S,EAAIA,EAAEzC,QAAQ4X,EAAI,IAAIxX,QAAQi+E,WAAW,IAGnD,KADC7oE,EACN,CAIE,OAHA,EAAIC,IAAMhT,EAAIA,EAAEzC,QAAQypC,EAAG,KAC3Bt0B,EAAI1S,EAAE47E,WAAW,IAGf,KAAK,IACL,KAAK,IACL,KAAK,IACL,KAAK,GACH5oE,EAAIR,EACJ,MAEF,QACEQ,EAAIi0B,EAMR,GAFAh0B,GADAL,EAAI0zB,EAAE9zB,EAAGQ,EAAGJ,EAAGF,EAAGY,EAAI,IAChBhV,OACN,EAAImV,IAAsB+S,EAAIoW,EAAE,EAAGhqB,EAAzBI,EAAI4/B,EAAE3L,EAAGjnC,EAAG8+B,GAAmBtsB,EAAGsmB,EAAGzlB,EAAGJ,EAAGP,EAAGY,EAAGX,GAAI3S,EAAIgT,EAAEkyB,KAAK,SAAK,IAAW1e,GAAK,KAAOvT,GAAKL,EAAI4T,EAAE7oB,QAAQW,UAAYoU,EAAI,EAAGE,EAAI,KAC5I,EAAIK,EAAG,OAAQP,GACjB,KAAK,IACH1S,EAAIA,EAAEzC,QAAQ8X,EAAIE,GAEpB,KAAK,IACL,KAAK,IACL,KAAK,GACH3C,EAAI5S,EAAI,IAAM4S,EAAI,IAClB,MAEF,KAAK,IAEHA,GADA5S,EAAIA,EAAEzC,QAAQiY,EAAI,UACV,IAAM5C,EAAI,IAClBA,EAAI,IAAMO,GAAK,IAAMA,GAAKswB,EAAE,IAAM7wB,EAAG,GAAK,YAAcA,EAAI,IAAMA,EAAI,IAAMA,EAC5E,MAEF,QACEA,EAAI5S,EAAI4S,EAAG,MAAQD,IAAWG,GAAKF,EAAVA,EAAa,SACnCA,EAAI,EACN,MAGLA,EAAI0zB,EAAE9zB,EAAGogC,EAAEpgC,EAAGxS,EAAG8+B,GAAIlsB,EAAGD,EAAGW,EAAI,GAGnComB,GAAK9mB,EACLA,EAAIksB,EAAI9rB,EAAIO,EAAIR,EAAI,EACpB/S,EAAI,GACJ0S,EAAI3S,EAAE67E,aAAa98E,GACnB,MAEF,KAAK,IACL,KAAK,GAEH,GAAI,GAAKmU,GADTjT,GAAK,EAAIgT,EAAIhT,EAAEzC,QAAQypC,EAAG,IAAMhnC,GAAGrC,QACpBW,QAAS,OAAQ,IAAMiV,IAAMR,EAAI/S,EAAE47E,WAAW,GAAI,KAAO7oE,GAAK,GAAKA,GAAK,IAAMA,KAAOE,GAAKjT,EAAIA,EAAEzC,QAAQ,IAAK,MAAMe,QAAS,EAAImV,QAAK,KAAY+S,EAAIoW,EAAE,EAAG58B,EAAGwS,EAAGC,EAAGqmB,EAAGzlB,EAAGP,EAAExU,OAAQqU,EAAGW,EAAGX,KAAO,KAAOM,GAAKjT,EAAIwmB,EAAE7oB,QAAQW,UAAY0B,EAAI,QAAa+S,EAAI/S,EAAE47E,WAAW,GAAIlpE,EAAI1S,EAAE47E,WAAW,GAAI7oE,GAC9S,KAAK,EACH,MAEF,KAAK,GACH,GAAI,MAAQL,GAAK,KAAOA,EAAG,CACzBgqB,GAAK18B,EAAID,EAAEuf,OAAOxgB,GAClB,KACF,CAEF,QACE,KAAOkB,EAAE47E,WAAW3oE,EAAI,KAAOH,GAAKo0B,EAAElnC,EAAG+S,EAAGL,EAAG1S,EAAE47E,WAAW,KAEhE98C,EAAI9rB,EAAIO,EAAIR,EAAI,EAChB/S,EAAI,GACJ0S,EAAI3S,EAAE67E,aAAa98E,GAEzB,CAEA,OAAQ4T,GACN,KAAK,GACL,KAAK,GACH,KAAOL,EAAIA,EAAI,EAAI,IAAM,EAAIU,GAAK,MAAQJ,GAAK,EAAI3S,EAAE1B,SAAW0U,EAAI,EAAGhT,GAAK,MAC5E,EAAIyT,EAAI8gC,GAAK3X,EAAE,EAAG58B,EAAGwS,EAAGC,EAAGqmB,EAAGzlB,EAAGP,EAAExU,OAAQqU,EAAGW,EAAGX,GACjDU,EAAI,EACJylB,IACA,MAEF,KAAK,GACL,KAAK,IACH,GAAI,IAAMzmB,EAAI7S,EAAI0T,EAAIL,EAAG,CACvBQ,IACA,KACF,CAEF,QAIE,OAHAA,IACAD,EAAIrT,EAAEuf,OAAOxgB,GAEL4T,GACN,KAAK,EACL,KAAK,GACH,GAAI,IAAMlT,EAAIqT,EAAIR,EAAG,OAAQnW,GAC3B,KAAK,GACL,KAAK,GACL,KAAK,EACL,KAAK,GACHkX,EAAI,GACJ,MAEF,QACE,KAAOV,IAAMU,EAAI,KAErB,MAEF,KAAK,EACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACHA,EAAI,MACJ,MAEF,KAAK,GACH,IAAM5T,EAAI6S,EAAIQ,IAAMG,EAAI8rB,EAAI,EAAG1rB,EAAI,KAAOA,GAC1C,MAEF,KAAK,IACH,GAAI,IAAM5T,EAAI6S,EAAIQ,EAAI4pB,GAAK,EAAIlpB,EAAG,OAAQzU,EAAIyU,GAC5C,KAAK,EACH,MAAQrX,GAAK,KAAO6D,EAAE67E,WAAW98E,EAAI,KAAO29B,EAAIvgC,GAElD,KAAK,EACH,MAAQymC,IAAMlG,EAAIkG,GAEtB,MAEF,KAAK,GACH,IAAMnjC,EAAI6S,EAAIQ,IAAMU,EAAIzU,GACxB,MAEF,KAAK,GACH,IAAMuT,EAAIa,EAAI1T,EAAIqT,IAAMG,EAAI,EAAGI,GAAK,MACpC,MAEF,KAAK,GACL,KAAK,GACH,IAAMf,IAAM7S,EAAIA,IAAMkT,EAAI,EAAI,IAAMlT,EAAIkT,EAAIlT,GAC5C,MAEF,KAAK,GACH,IAAMA,EAAI6S,EAAIa,GAAKL,IACnB,MAEF,KAAK,GACH,IAAMrT,EAAI6S,EAAIa,GAAKL,IACnB,MAEF,KAAK,GACH,IAAMrT,EAAI6S,EAAIQ,GAAKK,IACnB,MAEF,KAAK,GACH,GAAI,IAAM1T,EAAI6S,EAAIQ,EAAG,CACnB,GAAI,IAAME,EAAG,GAAQ,EAAI7W,EAAI,EAAIymC,IAC1B,UAIH5vB,EAAI,EAERG,GACF,CAEA,MAEF,KAAK,GACH,IAAMb,EAAIa,EAAI1T,EAAIqT,EAAIU,EAAIX,IAAMA,EAAI,GACpC,MAEF,KAAK,GACL,KAAK,GACH,KAAM,EAAIpT,EAAIqT,EAAIK,GAAI,OAAQb,GAC5B,KAAK,EACH,OAAQ,EAAIK,EAAI,EAAI3S,EAAE67E,WAAW98E,EAAI,IACnC,KAAK,IACHuT,EAAI,GACJ,MAEF,KAAK,IACHY,EAAInU,EAAGuT,EAAI,GAGf,MAEF,KAAK,GACH,KAAOK,GAAK,KAAOxW,GAAK+W,EAAI,IAAMnU,IAAM,KAAOiB,EAAE67E,WAAW3oE,EAAI,KAAOH,GAAK/S,EAAEwf,UAAUtM,EAAGnU,EAAI,IAAKsU,EAAI,GAAIf,EAAI,IAIxH,IAAMA,IAAMrS,GAAKoT,GAGrBuvB,EAAIzmC,EACJA,EAAIwW,EACJ5T,GACF,CAIA,GAAI,GAFJmU,EAAIH,EAAExU,QAEK,CAET,GADA0U,EAAIR,EACA,EAAIiB,SAA2C,KAArC+S,EAAIoW,EAAE,EAAG9pB,EAAGE,EAAGP,EAAGqmB,EAAGzlB,EAAGJ,EAAGN,EAAGW,EAAGX,KAAoB,KAAOG,EAAI0T,GAAGloB,QAAS,OAAOo+B,EAAI5pB,EAAI4mB,EAGzG,GAFA5mB,EAAIE,EAAEkyB,KAAK,KAAO,IAAMpyB,EAAI,IAExB,IAAMK,EAAIspB,EAAG,CAGf,OAFA,IAAMtpB,GAAKswB,EAAE3wB,EAAG,KAAO2pB,EAAI,GAEnBA,GACN,KAAK,IACH3pB,EAAIA,EAAEvV,QAAQkY,EAAI,YAAc3C,EAChC,MAEF,KAAK,IACHA,EAAIA,EAAEvV,QAAQgqC,EAAG,sBAAwBz0B,EAAEvV,QAAQgqC,EAAG,aAAez0B,EAAEvV,QAAQgqC,EAAG,iBAAmBz0B,EAGzG2pB,EAAI,CACN,CACF,CAEA,OAAOC,EAAI5pB,EAAI4mB,CACjB,CAEA,SAASkZ,EAAEngC,EAAGD,EAAGzS,GACf,IAAI4S,EAAIH,EAAE7U,OAAO8Y,MAAMd,GACvBnD,EAAIG,EACJ,IAAIW,EAAIX,EAAErU,OACNuU,EAAIJ,EAAEnU,OAEV,OAAQuU,GACN,KAAK,EACL,KAAK,EACH,IAAIR,EAAI,EAER,IAAKI,EAAI,IAAMI,EAAI,GAAKJ,EAAE,GAAK,IAAKJ,EAAIiB,IAAKjB,EAC3CG,EAAEH,GAAKmiC,EAAE/hC,EAAGD,EAAEH,GAAItS,GAAGpC,OAGvB,MAEF,QACE,IAAIuV,EAAIb,EAAI,EAEZ,IAAKG,EAAI,GAAIH,EAAIiB,IAAKjB,EACpB,IAAK,IAAI7S,EAAI,EAAGA,EAAIqT,IAAKrT,EACvBgT,EAAEU,KAAOshC,EAAE/hC,EAAEjT,GAAK,IAAKmT,EAAEN,GAAItS,GAAGpC,OAMxC,OAAO6U,CACT,CAEA,SAASgiC,EAAE/hC,EAAGD,EAAGzS,GACf,IAAI4S,EAAIH,EAAEopE,WAAW,GAGrB,OAFA,GAAKjpE,IAAMA,GAAKH,EAAIA,EAAE7U,QAAQi+E,WAAW,IAEjCjpE,GACN,KAAK,GACH,OAAOH,EAAEjV,QAAQm8B,EAAG,KAAOjnB,EAAE9U,QAE/B,KAAK,GACH,OAAO8U,EAAE9U,OAAS6U,EAAEjV,QAAQm8B,EAAG,KAAOjnB,EAAE9U,QAE1C,QACE,GAAI,EAAI,EAAIoC,GAAK,EAAIyS,EAAE/U,QAAQ,MAAO,OAAO+U,EAAEjV,QAAQm8B,GAAI,KAAOjnB,EAAEmpE,WAAW,GAAK,GAAK,MAAQnpE,EAAE9U,QAGvG,OAAO8U,EAAID,CACb,CAEA,SAAS00B,EAAEz0B,EAAGD,EAAGzS,EAAG4S,GAClB,IAAIW,EAAIb,EAAI,IACRI,EAAI,EAAIL,EAAI,EAAIzS,EAAI,EAAI4S,EAE5B,GAAI,MAAQE,EAAG,CACbJ,EAAIa,EAAE7V,QAAQ,IAAK,GAAK,EACxB,IAAI4U,EAAIiB,EAAEiM,UAAU9M,EAAGa,EAAEhV,OAAS,GAAGX,OAErC,OADA0U,EAAIiB,EAAEiM,UAAU,EAAG9M,GAAG9U,OAAS0U,EAAI,IAC5B,IAAMc,GAAK,IAAMA,GAAKswB,EAAEpxB,EAAG,GAAK,WAAaA,EAAIA,EAAIA,CAC9D,CAEA,GAAI,IAAMc,GAAK,IAAMA,IAAMswB,EAAEnwB,EAAG,GAAI,OAAOA,EAE3C,OAAQT,GACN,KAAK,KACH,OAAO,KAAOS,EAAEsoE,WAAW,IAAM,WAAatoE,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEsoE,WAAW,GAAK,WAAatoE,EAAIA,EAAIA,EAExD,KAAK,IACH,OAAO,MAAQA,EAAEsoE,WAAW,GAAK,WAAatoE,EAAIA,EAAIA,EAExD,KAAK,KACH,GAAI,MAAQA,EAAEsoE,WAAW,GAAI,MAE/B,KAAK,IACL,KAAK,IACH,MAAO,WAAatoE,EAAIA,EAE1B,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAIA,EAExC,KAAK,KACL,KAAK,IACH,MAAO,WAAaA,EAAI,QAAUA,EAAI,OAASA,EAAIA,EAErD,KAAK,IACH,GAAI,KAAOA,EAAEsoE,WAAW,GAAI,MAAO,WAAatoE,EAAIA,EACpD,GAAI,EAAIA,EAAE7V,QAAQ,aAAc,IAAK,OAAO6V,EAAE/V,QAAQqY,EAAI,gBAAkBtC,EAC5E,MAEF,KAAK,IACH,GAAI,KAAOA,EAAEsoE,WAAW,GAAI,OAAQtoE,EAAEsoE,WAAW,IAC/C,KAAK,IACH,MAAO,eAAiBtoE,EAAE/V,QAAQ,QAAS,IAAM,WAAa+V,EAAI,OAASA,EAAE/V,QAAQ,OAAQ,YAAc+V,EAE7G,KAAK,IACH,MAAO,WAAaA,EAAI,OAASA,EAAE/V,QAAQ,SAAU,YAAc+V,EAErE,KAAK,GACH,MAAO,WAAaA,EAAI,OAASA,EAAE/V,QAAQ,QAAS,kBAAoB+V,EAE5E,MAAO,WAAaA,EAAI,OAASA,EAAIA,EAEvC,KAAK,IACH,MAAO,WAAaA,EAAI,YAAcA,EAAIA,EAE5C,KAAK,KACH,GAAI,KAAOA,EAAEsoE,WAAW,GAAI,MAE5B,MAAO,oBADPvpE,EAAIiB,EAAEiM,UAAUjM,EAAE7V,QAAQ,IAAK,KAAKF,QAAQ,QAAS,IAAIA,QAAQ,gBAAiB,YAClD,WAAa+V,EAAI,gBAAkBjB,EAAIiB,EAEzE,KAAK,KACH,OAAOwC,EAAGhY,KAAKwV,GAAKA,EAAE/V,QAAQ2X,EAAI,aAAe5B,EAAE/V,QAAQ2X,EAAI,UAAY5B,EAAIA,EAEjF,KAAK,IAIH,OAFAd,GADAH,EAAIiB,EAAEiM,UAAU,IAAI5hB,QACdF,QAAQ,KAAO,EAEb4U,EAAEupE,WAAW,GAAKvpE,EAAEupE,WAAWppE,IACrC,KAAK,IACHH,EAAIiB,EAAE/V,QAAQm/B,EAAG,MACjB,MAEF,KAAK,IACHrqB,EAAIiB,EAAE/V,QAAQm/B,EAAG,SACjB,MAEF,KAAK,IACHrqB,EAAIiB,EAAE/V,QAAQm/B,EAAG,MACjB,MAEF,QACE,OAAOppB,EAGX,MAAO,WAAaA,EAAI,OAASjB,EAAIiB,EAEvC,KAAK,KACH,IAAK,IAAMA,EAAE7V,QAAQ,SAAU,GAAI,MAErC,KAAK,IAIH,OAHA+U,GAAKc,EAAIb,GAAGnU,OAAS,GAGbuU,GAFRR,GAAK,KAAOiB,EAAEsoE,WAAWppE,GAAKc,EAAEiM,UAAU,EAAG/M,GAAKc,GAAGiM,UAAU9M,EAAEhV,QAAQ,IAAK,GAAK,GAAGE,QAExEi+E,WAAW,IAAwB,EAAlBvpE,EAAEupE,WAAW,KAC1C,KAAK,IACH,GAAI,IAAMvpE,EAAEupE,WAAW,GAAI,MAE7B,KAAK,IACHtoE,EAAIA,EAAE/V,QAAQ8U,EAAG,WAAaA,GAAK,IAAMiB,EACzC,MAEF,KAAK,IACL,KAAK,IACHA,EAAIA,EAAE/V,QAAQ8U,EAAG,YAAc,IAAMQ,EAAI,UAAY,IAAM,OAAS,IAAMS,EAAE/V,QAAQ8U,EAAG,WAAaA,GAAK,IAAMiB,EAAE/V,QAAQ8U,EAAG,OAASA,EAAI,OAAS,IAAMiB,EAG5J,OAAOA,EAAI,IAEb,KAAK,IACH,GAAI,KAAOA,EAAEsoE,WAAW,GAAI,OAAQtoE,EAAEsoE,WAAW,IAC/C,KAAK,IACH,OAAOvpE,EAAIiB,EAAE/V,QAAQ,SAAU,IAAK,WAAa+V,EAAI,eAAiBjB,EAAI,YAAcA,EAAIiB,EAE9F,KAAK,IACH,MAAO,WAAaA,EAAI,iBAAmBA,EAAE/V,QAAQ48B,EAAI,IAAM7mB,EAEjE,QACE,MAAO,WAAaA,EAAI,qBAAuBA,EAAE/V,QAAQ,gBAAiB,IAAIA,QAAQ48B,EAAI,IAAM7mB,EAEpG,MAEF,KAAK,IACL,KAAK,IACH,GAAI,KAAOA,EAAEsoE,WAAW,IAAM,MAAQtoE,EAAEsoE,WAAW,GAAI,MAEzD,KAAK,IACL,KAAK,IACH,IAAI,IAAO7lE,EAAGjY,KAAK2U,GAAI,OAAO,OAASJ,EAAII,EAAE8M,UAAU9M,EAAEhV,QAAQ,KAAO,IAAIm+E,WAAW,GAAK10C,EAAEz0B,EAAElV,QAAQ,UAAW,kBAAmBiV,EAAGzS,EAAG4S,GAAGpV,QAAQ,kBAAmB,YAAc+V,EAAE/V,QAAQ8U,EAAG,WAAaA,GAAKiB,EAAE/V,QAAQ8U,EAAG,QAAUA,EAAE9U,QAAQ,QAAS,KAAO+V,EACxQ,MAEF,KAAK,IACH,GAAIA,EAAI,WAAaA,GAAK,MAAQA,EAAEsoE,WAAW,GAAK,OAAStoE,EAAI,IAAMA,EAAG,MAAQvT,EAAI4S,GAAK,MAAQW,EAAEsoE,WAAW,KAAO,EAAItoE,EAAE7V,QAAQ,YAAa,IAAK,OAAO6V,EAAEiM,UAAU,EAAGjM,EAAE7V,QAAQ,IAAK,IAAM,GAAGF,QAAQyY,EAAI,gBAAkB1C,EAGvO,OAAOA,CACT,CAEA,SAASmwB,EAAEhxB,EAAGD,GACZ,IAAIzS,EAAI0S,EAAEhV,QAAQ,IAAM+U,EAAI,IAAM,KAC9BG,EAAIF,EAAE8M,UAAU,EAAG,IAAM/M,EAAIzS,EAAI,IAErC,OADAA,EAAI0S,EAAE8M,UAAUxf,EAAI,EAAG0S,EAAEnU,OAAS,GAC3B6qC,EAAE,IAAM32B,EAAIG,EAAIA,EAAEpV,QAAQy8B,EAAI,MAAOj6B,EAAGyS,EACjD,CAEA,SAAS+C,EAAG9C,EAAGD,GACb,IAAIzS,EAAImnC,EAAE10B,EAAGA,EAAEopE,WAAW,GAAIppE,EAAEopE,WAAW,GAAIppE,EAAEopE,WAAW,IAC5D,OAAO77E,IAAMyS,EAAI,IAAMzS,EAAExC,QAAQ2Z,EAAI,YAAYqI,UAAU,GAAK,IAAM/M,EAAI,GAC5E,CAEA,SAASoqB,EAAEnqB,EAAGD,EAAGzS,EAAG4S,EAAGW,EAAGT,EAAGR,EAAGa,EAAG1T,EAAGuT,GACpC,IAAK,IAAkBI,EAAdT,EAAI,EAAGxW,EAAIsW,EAAME,EAAIe,IAAKf,EACjC,OAAQS,EAAIw9B,EAAEj+B,GAAG7G,KAAKoY,EAAGxR,EAAGvW,EAAG6D,EAAG4S,EAAGW,EAAGT,EAAGR,EAAGa,EAAG1T,EAAGuT,IAClD,UAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,KACH,MAEF,QACE7W,EAAIiX,EAIV,GAAIjX,IAAMsW,EAAG,OAAOtW,CACtB,CAkBA,SAASy1C,EAAEl/B,GAGT,YADA,KADAA,EAAIA,EAAEsrF,UACW50D,EAAI,KAAM12B,EAAI,oBAAsBA,EAAIU,EAAI,GAAKA,EAAI,EAAGg2B,EAAI12B,GAAKU,EAAI,GAC/Ew+B,CACT,CAEA,SAAS1tB,EAAExR,EAAGD,GACZ,IAAIzS,EAAI0S,EAKR,GAJA,GAAK1S,EAAE67E,WAAW,KAAO77E,EAAIA,EAAEpC,QAE/BoC,EAAI,CADAA,GAGA,EAAI0T,EAAG,CACT,IAAId,EAAIiqB,GAAG,EAAGpqB,EAAGzS,EAAGA,EAAG+4B,EAAGzlB,EAAG,EAAG,EAAG,EAAG,QACtC,IAAWV,GAAK,kBAAoBA,IAAMH,EAAIG,EAChD,CAEA,IAAIW,EAAIgzB,EAAEW,EAAGlnC,EAAGyS,EAAG,EAAG,GAKtB,OAJA,EAAIiB,SAAmD,KAA7Cd,EAAIiqB,GAAG,EAAGtpB,EAAGvT,EAAGA,EAAG+4B,EAAGzlB,EAAGC,EAAEhV,OAAQ,EAAG,EAAG,MAAqBgV,EAAIX,IACxE,GACJ8pB,EAAI,EACJppB,EAAIylB,EAAI,EACDxlB,CACT,CAEA,IAAI6B,EAAK,QACL6xB,EAAI,YACJ9xB,EAAK,OACLY,EAAK,UACLE,EAAK,sBACLL,EAAK,SACL+jB,EAAI,oBACJlkB,EAAK,qBACL+xB,EAAI,aACJ9xB,EAAK,gBACLinB,EAAI,qBACJrnB,EAAK,kBACL6B,EAAK,eACLijB,EAAK,eACLH,EAAK,8BACLjkB,EAAK,mCACLH,EAAK,sBACLvC,EAAI,EACJylB,EAAI,EACJ2D,EAAI,EACJtpB,EAAI,EACJ8zB,EAAI,GACJ0J,EAAI,GACJl9B,EAAI,EACJ01B,EAAI,KACJoL,EAAI,EAKR,OAHAtwB,EAAEsjF,IApEF,SAASj2D,EAAE7+B,GACT,OAAQA,GACN,UAAK,EACL,KAAK,KACHgB,EAAIk9B,EAAEryC,OAAS,EACf,MAEF,QACE,GAAI,oBAAsBmU,EAAGk+B,EAAEl9B,KAAOhB,OAAO,GAAI,kBAAoBA,EAAG,IAAK,IAAID,EAAI,EAAGzS,EAAI0S,EAAEnU,OAAQkU,EAAIzS,IAAKyS,EAC7G8+B,EAAE7+B,EAAED,SACC+hC,EAAU,IAAJ9hC,EAGjB,OAAO6+B,CACT,EAuDArtB,EAAEtlB,IAAMgzC,OACR,IAAWK,GAAKL,EAAEK,GACX/tB,CACT,ECnjBA,GAjDmB,CACjB3H,wBAAyB,EACzBE,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACTC,KAAM,EACNC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACXE,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBshF,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBxhF,WAAY,EACZE,WAAY,EACZC,QAAS,EACTC,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNghF,gBAAiB,EAEjB/gF,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GC5CXwoF,GAAkB,o9HAElBC,GAA6B3H,IAAQ,SAAU5/F,GACjD,OAAOsnG,GAAgB1pG,KAAKoC,IAAgC,MAAvBA,EAAK07E,WAAW,IAE3B,MAAvB17E,EAAK07E,WAAW,IAEhB17E,EAAK07E,WAAW,GAAK,EAC1B,IAIA,uNCXA,IAAAlpE,GAAA,SACE3S,EACAkT,GAAA,QAEMzT,EAAS,CAACO,EAAQ,IAEfiT,EAAI,EAAG6pC,EAAM5pC,EAAe3U,OAAQ0U,EAAI6pC,EAAK7pC,GAAK,EACzDxT,EAAO1C,KAAKmW,EAAeD,GAAIjT,EAAQiT,EAAI,WAGtCxT,CAAA,EAAAmxC,GAAA,SCVO19B,GAAA,OACR,OAANA,GACa,iBAANA,GAC6D,qBAAnEA,EAAE9V,SAAW8V,EAAE9V,WAAahC,OAAOsB,UAAUU,SAAS0O,KAAKoH,OAC3DlT,EAAAA,GAAAA,QAAOkT,EAAA,ECNGE,GAAchY,OAAOK,OAAO,IAC5BihC,GAAethC,OAAOK,OAAO,CAAC,GCD5B,SAAS6W,GAAWtS,GAAA,MACV,mBAATA,CAAA,CCCD,SAAS6C,GACtB7C,GAAA,OAKEA,EAAOkQ,aAEPlQ,EAAO0K,MACP,YCXW,SAASu8B,GAAkBjnC,GAAA,OACjCA,GAA8C,iBAA7BA,EAAO2nG,iBAAA,CCG1B,IAAMj0F,GACS,oBAAZknF,cAAA,IACCA,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,KACNA,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYgN,mBAAqBhN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYiN,UAChD,cAOW9oE,GAA+B,oBAAXj9B,QAA0B,gBAAiBA,OAE/DqlC,GAAiBh9B,QACC,kBAAtB29F,kBACHA,kBACmB,oBAAZlN,cAAA,IAAkCA,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,UAAQ,IAC1CA,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYmN,6BACyB,KAA5CnN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYmN,4BACkC,UAA5CnN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYmN,6BAEVnN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYmN,iCAAA,IACPnN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYkN,mBAAuE,KAAlClN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYkN,oBAClC,UAAlClN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYkN,mBAEVlN,CAAAA,SAAAA,aAAAA,WAAAA,yBAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,qBAAAA,EAAAA,cAAAA,GAAYkN,qBCHP,SAAS9mD,GACtBhhD,GAAA,QAAAkT,EAAA5U,UAAAC,OACGkB,EAAA,IAAAhD,MAAAyW,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAxT,EAAAwT,EAAA,GAAA3U,UAAA2U,GAAA,MAGK,IAAIyF,MAAA,+CACuC1Y,EAAA,0BAC7CP,EAAelB,OAAS,EAAI,UAAUkB,EAAe0lC,KAAK,MAAU,IAIhB,CC9BrD,IAMDoM,GAAA,oBAAAvxC,EAOQA,GAAA,KACLgoG,WAAa,IAAIC,YAVR,UAWT1pG,OAXS,SAYT8Q,IAAMrP,CAAA,KAAAkT,EAAAlT,EAAAtD,UAAA,OAAAwW,EAGbg1F,aAAA,SAAaloG,GAAA,QACPkT,EAAQ,EACHzT,EAAI,EAAGA,EAAIO,EAAOP,IACzByT,GAASgD,KAAK8xF,WAAWvoG,GAAA,OAGpByT,CAAA,EAAAA,EAGTi1F,YAAA,SAAYnoG,EAAekT,GAAA,GACrBlT,GAASkW,KAAK8xF,WAAWzpG,OAAQ,SAC7BkB,EAAYyW,KAAK8xF,WACjB/0F,EAAUxT,EAAUlB,OAEtBu+C,EAAU7pC,EACPjT,GAAS88C,IACdA,IAAY,GACE,GACZkE,GAAiB,GAAI,GAAGhhD,GAAA,KAIvBgoG,WAAa,IAAIC,YAAYnrD,GAAA,KAC7BkrD,WAAWppG,IAAIa,GAAA,KACflB,OAASu+C,EAAA,IAET,IAAIt9C,EAAIyT,EAASzT,EAAIs9C,EAASt9C,IAAA,KAC5BwoG,WAAWxoG,GAAK,UAIrB2N,EAAY+I,KAAKgyF,aAAaloG,EAAQ,GACjCuT,EAAI,EAAGd,EAAIS,EAAM3U,OAAQgV,EAAId,EAAGc,IACnC2C,KAAK7G,IAAIqrF,WAAWvtF,EAAW+F,EAAMK,MAAA,KAClCy0F,WAAWhoG,KAChBmN,IAAA,EAAA+F,EAKNk1F,WAAA,SAAWpoG,GAAA,GACLA,EAAQkW,KAAK3X,OAAQ,KACjB2U,EAASgD,KAAK8xF,WAAWhoG,GACzBP,EAAayW,KAAKgyF,aAAaloG,GAC/BiT,EAAWxT,EAAayT,EAAA,KAEzB80F,WAAWhoG,GAAS,MAEpB,IAAI88C,EAAIr9C,EAAYq9C,EAAI7pC,EAAU6pC,IAAA,KAChCztC,IAAIg5F,WAAW5oG,EAAA,GAAAyT,EAK1Bo1F,SAAA,SAAStoG,GAAA,IACHkT,EAAM,MACNlT,GAASkW,KAAK3X,QAAqC,IAA3B2X,KAAK8xF,WAAWhoG,GAAA,OACnCkT,EAAA,QAGHzT,EAASyW,KAAK8xF,WAAWhoG,GACzBiT,EAAaiD,KAAKgyF,aAAaloG,GAC/B88C,EAAW7pC,EAAaxT,EAErBD,EAAIyT,EAAYzT,EAAIs9C,EAAUt9C,IACrC0T,GAAUgD,KAAK7G,IAAIk5F,QAAQ/oG,GF9ET,mBEiFb0T,CAAA,EAAAlT,CAAA,CAjFL,GCRF7D,GAAuC,IAAImrB,IAC3CzU,GAAuC,IAAIyU,IAC3CyqB,GAAgB,EAQP7tB,GAAgB,SAAClkB,GAAA,GACxB7D,GAAgB88B,IAAIj5B,GAAA,OACd7D,GAAgBkE,IAAIL,GAAA,KAGvB6S,GAAgBomB,IAAI8Y,KACzBA,KAAA,IAGI7+B,EAAQ6+B,KAAA,OASd51C,GAAgByC,IAAIoB,EAAIkT,GACxBL,GAAgBjU,IAAIsU,EAAOlT,GACpBkT,CAAA,EAGII,GAAgB,SAACtT,GAAA,OACrB6S,GAAgBxS,IAAIL,EAAA,EAGhBumC,GAAgB,SAACvmC,EAAYkT,GACpCA,GAAS6+B,KACXA,GAAgB7+B,EAAQ,GAG1B/W,GAAgByC,IAAIoB,EAAIkT,GACxBL,GAAgBjU,IAAIsU,EAAOlT,EAAA,EC3CvB28B,GAAA,SAAoBjpB,GAAA,iCACpBgwB,GAAY,IAAI5lC,OAAA,IAAW4V,GAAA,gDAkC3BimB,GAA4B,SAAC35B,EAAckT,EAAYzT,GAAA,QAEvDwT,EADE6pC,EAAQr9C,EAAQiX,MAAM,KAGnBlX,EAAI,EAAG2N,EAAI2vC,EAAMv+C,OAAQiB,EAAI2N,EAAG3N,KAElCyT,EAAO6pC,EAAMt9C,KAChBQ,EAAMwoG,aAAat1F,EAAID,EAAA,EAKvBuhC,GAAwB,SAACx0C,EAAckT,GAAA,QACrCzT,GAASyT,EAAM5G,aAAe,IAAIoK,MJxClB,aIyChBzD,EAAkB,GAEf6pC,EAAI,EAAGt9C,EAAIC,EAAMlB,OAAQu+C,EAAIt9C,EAAGs9C,IAAK,KACtC3vC,EAAO1N,EAAMq9C,GAAGl/C,OAAA,GACjBuP,EAAA,KAECoG,EAASpG,EAAK7P,MAAMomC,IAAA,GAEtBnwB,EAAQ,KACJd,EAAkC,EAA1B0tC,SAAS5sC,EAAO,GAAI,IAC5BC,EAAKD,EAAO,GAEJ,IAAVd,IAEF8zB,GAAc/yB,EAAIf,GAGlBknB,GAA0B35B,EAAOwT,EAAID,EAAO,IAC5CvT,EAAMyoG,SAASN,YAAY11F,EAAOQ,IAGpCA,EAAM1U,OAAS,OAEf0U,EAAMlW,KAAKoQ,EAAA,ICzEX6F,GAAW,kBACmC01F,EAAAA,EAAoB,ECiB3D7rE,GAAe,SAAC78B,GAAA,IACrBkT,EAASjR,SAAS2mF,KAClBnpF,EAASO,GAAUkT,EACnBD,EAAQhR,SAASsC,cAAc,SAC/Bu4C,EAlBiB,SAAC98C,GAAA,QAChBkT,EAAelT,EAAf6L,WAECpM,EAAIyT,EAAW3U,OAAQkB,GAAK,EAAGA,IAAK,KACrCwT,EAAUC,EAAWzT,GAAA,GACvBwT,GARa,IAQJA,EAAM7P,UAA6B6P,EAAM1Q,aAAamR,IAAA,OACxDT,CAAA,EANU,CAkBYxT,GAC7BD,OAAA,IAAcs9C,EAA0BA,EAAUloB,YAAc,KAEtE3hB,EAAMlI,aAAa2I,GNnBS,UMoB5BT,EAAMlI,aNnBuB,sBACL,aMoBlBoC,EAAQ6F,KAAA,OAEV7F,GAAO8F,EAAMlI,aAAa,QAASoC,GAEvC1N,EAAOkM,aAAasH,EAAOzT,GAEpByT,CAAA,ECtBIywC,GAAA,oBAAA1jD,EAOCA,GAAA,IACJkT,EAAWgD,KAAKlX,QAAU69B,GAAa78B,GAG7CkT,EAAQxE,YAAYzM,SAAS2J,eAAe,UAEvC0uF,MDae,SAACt6F,GAAA,GACnBA,EAAIs6F,MAAA,OACGt6F,EAAIs6F,MAAA,QAIPpnF,EAAgBjR,SAAhBs4F,YACC96F,EAAI,EAAGwT,EAAIC,EAAY3U,OAAQkB,EAAIwT,EAAGxT,IAAK,KAC5Cq9C,EAAQ5pC,EAAYzT,GAAA,GACtBq9C,EAAM09C,YAAcx6F,EAAA,OACb88C,CAAA,CAIbkE,GAAiB,IAdK,CCbE9tC,GAAA,KACjB3U,OAAS,MAAA2U,EAAAlT,EAAAtD,UAAA,OAAAwW,EAGhBwnF,WAAA,SAAW16F,EAAekT,GAAA,gBAEjBonF,MAAMI,WAAWxnF,EAAMlT,GAAA,KACvBzB,UAAA,CACE,CACP,MAAOyB,GAAA,QACA,GAAAkT,EAIXm1F,WAAA,SAAWroG,GAAA,KACJs6F,MAAM+N,WAAWroG,GAAA,KACjBzB,QAAA,EAAA2U,EAGPq1F,QAAA,SAAQvoG,GAAA,IACAkT,EAAOgD,KAAKokF,MAAMK,SAAS36F,GAAA,gBAE7BkT,GAA8C,iBAAjBA,EAAKy1F,QAC7Bz1F,EAAKy1F,QAEL,IAAA3oG,CAAA,CAtCA,GA4CAiyC,GAAA,oBAAAjyC,EAOCA,GAAA,IACJkT,EAAWgD,KAAKlX,QAAU69B,GAAa78B,GAAA,KACxCk6F,MAAQhnF,EAAQrH,WAAA,KAChBtN,OAAS,MAAA2U,EAAAlT,EAAAtD,UAAA,OAAAwW,EAGhBwnF,WAAA,SAAW16F,EAAekT,GAAA,GACpBlT,GAASkW,KAAK3X,QAAUyB,GAAS,EAAG,KAChCP,EAAOwC,SAAS2J,eAAesH,GAC/BD,EAAUiD,KAAKgkF,MAAMl6F,GAAA,YACtBhB,QAAQ2M,aAAalM,EAAMwT,GAAW,WACtC1U,UAAA,CACE,SAEA,EAAA2U,EAIXm1F,WAAA,SAAWroG,GAAA,KACJhB,QAAQuL,YAAY2L,KAAKgkF,MAAMl6F,IAAA,KAC/BzB,QAAA,EAAA2U,EAGPq1F,QAAA,SAAQvoG,GAAA,OACFA,EAAQkW,KAAK3X,OACR2X,KAAKgkF,MAAMl6F,GAAOsM,YAElB,IAAAtM,CAAA,CAlCA,GAwCA4xC,GAAA,oBAAA5xC,EAKCA,GAAA,KACL08F,MAAQ,QACRn+F,OAAS,MAAA2U,EAAAlT,EAAAtD,UAAA,OAAAwW,EAGhBwnF,WAAA,SAAW16F,EAAekT,GAAA,OACpBlT,GAASkW,KAAK3X,SAAA,KACXm+F,MAAMhjD,OAAO15C,EAAO,EAAGkT,GAAA,KACvB3U,UAAA,EACE,EAAA2U,EAMXm1F,WAAA,SAAWroG,GAAA,KACJ08F,MAAMhjD,OAAO15C,EAAO,QACpBzB,QAAA,EAAA2U,EAGPq1F,QAAA,SAAQvoG,GAAA,OACFA,EAAQkW,KAAK3X,OACR2X,KAAKwmF,MAAM18F,GAEX,IAAAA,CAAA,CA7BA,GC5FT05B,GAAmBqF,GAWjB8T,GAA+B,CACnC+1D,UAAW7pE,GACX8pE,mBAAoB1hE,IAIDsN,GAAA,oBAAAz0C,EAiBjBA,EACAkT,EACAzT,QAAA,IAFAO,IAAAA,EAAgC08B,SAAA,IAChCxpB,IAAAA,EAA2C,CAAC,GAAD,KAGtCgI,QAAA/H,GAAA,GACA0/B,GAAA,GACA7yC,GAAA,KAGA8oG,GAAK51F,EAAA,KACL61F,MAAQ,IAAIzhF,IAAI7nB,GAAA,KAChBupG,SAAWhpG,EAAQ4oG,UAGnB1yF,KAAK8yF,QAAUjqE,IAAcrF,KAChCA,IAAA,EJyBwB,SAAC15B,GAAA,QACvBkT,EAAQjR,SAAS03C,iBAAiBhd,IAE/Bl9B,EAAI,EAAGwT,EAAIC,EAAM3U,OAAQkB,EAAIwT,EAAGxT,IAAK,KACtCq9C,EAAS5pC,EAAMzT,GACjBq9C,GJ7EsB,WI6EdA,EAAKt6C,aAAakR,MAC5B8gC,GAAsBx0C,EAAO88C,GAEzBA,EAAKxyC,YACPwyC,EAAKxyC,WAAWC,YAAYuyC,GAAA,EATN,CIxBT5mC,MAAA,CAAAlW,EArBZipG,WAAP,SAAkBjpG,GAAA,OACTkkB,GAAclkB,EAAA,MAAAkT,EAAAlT,EAAAtD,UAAA,OAAAwW,EAwBvBg2F,uBAAA,SAAuBh2F,EAA+BzT,GAAA,gBAAAA,IAAAA,GAAA,GAC7C,IAAIO,EAAAmT,GAAA,GACJ+C,KAAKgF,QAAA,GAAYhI,GACtBgD,KAAK4yF,GACJrpG,GAAayW,KAAK6yF,YAAA,EAAU,EAAA71F,EAIjCi2F,mBAAA,SAAmBnpG,GAAA,OACTkW,KAAK4yF,GAAG9oG,IAAOkW,KAAK4yF,GAAG9oG,IAAO,GAAK,GAAAkT,EAI7Cu1F,OAAA,kBACSvyF,KAAK7G,MAAQ6G,KAAK7G,KDtEH5P,GAAAyT,ECsEgCgD,KAAKgF,SDtErC0tF,SAAU31F,EAAAC,EAAA21F,kBAAmB/rD,EAAA5pC,EAAA6N,OLCxB/gB,EKAzBP,EACK,IAAImyC,GAAWkL,GACb7pC,EACF,IAAIywC,GAAS5G,GAEb,IAAI7K,GAAQ6K,GLJd,IAAIvL,GAAkBvxC,KADD,IAACA,EAAAkT,EKDLzT,EAAUwT,EAAmB6pC,CAAA,EAAA5pC,EC0ErDk2F,aAAA,SAAappG,EAAYkT,GAAA,OAChBgD,KAAK6yF,MAAM9vE,IAAIj5B,IAAQkW,KAAK6yF,MAAM1oG,IAAIL,GAAUi5B,IAAI/lB,EAAA,EAAAA,EAI7Ds1F,aAAA,SAAaxoG,EAAYkT,GAAA,GACvBgR,GAAclkB,GAETkW,KAAK6yF,MAAM9vE,IAAIj5B,GAAA,KAKZ+oG,MAAM1oG,IAAIL,GAAU2V,IAAIzC,OALP,KACjBzT,EAAa,IAAI8V,IACvB9V,EAAWkW,IAAIzC,GAAA,KACV61F,MAAMnqG,IAAIoB,EAAIP,EAAA,GAAAyT,EAOvBi1F,YAAA,SAAYnoG,EAAYkT,EAAczT,GAAA,KAC/B+oG,aAAaxoG,EAAIkT,GAAA,KACjBu1F,SAASN,YAAYjkF,GAAclkB,GAAKP,EAAA,EAAAyT,EAI/Cm2F,WAAA,SAAWrpG,GACLkW,KAAK6yF,MAAM9vE,IAAIj5B,IAAA,KACX+oG,MAAM1oG,IAAIL,GAAU6gD,OAAA,EAAA3tC,EAK9Bo2F,WAAA,SAAWtpG,GAAA,KACJyoG,SAASL,WAAWlkF,GAAclkB,IAAA,KAClCqpG,WAAWrpG,EAAA,EAAAkT,EAIlBq2F,SAAA,gBAGOl6F,SAAA,CAAM,EAAA6D,EAIb9V,SAAA,kBJpHyB,SAAC4C,GAAA,QACpBkT,EAAMlT,EAAMyoG,SACVhpG,EAAWyT,EAAX3U,OAEJ0U,EAAM,GACD6pC,EAAQ,EAAGA,EAAQr9C,EAAQq9C,IAAS,KACrCt9C,EAAK8T,GAAcwpC,GAAA,YACrBt9C,EAAA,KAEE2N,EAAQnN,EAAM+oG,MAAM1oG,IAAIb,GACxB+T,EAAQL,EAAIo1F,SAASxrD,GAAA,GACtB3vC,GAAUoG,GAAUpG,EAAMikC,KAAA,KAEzB3+B,EAAciB,GAAA,KAAYopC,EAAA,QAAat9C,EAAA,KAEzCgU,EAAU,YACVrG,GACFA,EAAMxQ,SAAQ,SAAAqD,GACRA,EAAKzB,OAAS,IAChBiV,GAAcxT,EAAA,QAOpBiT,GAAA,GAAUM,EAAQd,EAAA,aAAqBe,EAAA,uBAGlCP,CAAA,CA7BkB,CIqHJiD,KAAA,EAAAlW,CAAA,CApGF,GCvBf4iC,GAAgB,WAOhB4E,GAAoB,SAACxnC,GAAA,OACzB/C,OAAOqyB,aAAatvB,GAAQA,EAAO,GAAK,GAAK,MAGhC,SAAS2xB,GAAuB3xB,GAAA,IAEzCkT,EADAzT,EAAO,OAINyT,EAAIiS,KAAKw5B,IAAI3+C,GAAOkT,EAZP,GAYwBA,EAAKA,EAZ7B,GAYgD,EAChEzT,EAAO+nC,GAAkBt0B,EAbT,IAa4BzT,EAAA,OAGtC+nC,GAAkBt0B,EAhBR,IAgB2BzT,GAAMjC,QAAQolC,GAAe,SCpBrE,IAKMrP,GAAQ,SAACvzB,EAAWkT,GAAA,QAC3BzT,EAAIyT,EAAE3U,OAEHkB,GACLO,EAAS,GAAJA,EAAUkT,EAAE2oE,aAAap8E,GAAA,OAGzBO,CAAA,EAII+yB,GAAO,SAAC/yB,GAAA,OACZuzB,GAjBW,KAiBCvzB,EAAA,ECfN,SAASqzB,GAAcrzB,GAAA,IAC/B,IAAIkT,EAAI,EAAGA,EAAIlT,EAAMzB,OAAQ2U,GAAK,EAAG,KAClCzT,EAAOO,EAAMkT,GAAA,GAEfZ,GAAW7S,KAAUwnC,GAAkBxnC,GAAA,QAGlC,SAIJ,CCPT,IAAMuzB,GAAOD,GZIa,SYCLO,GAAA,oBAAAtzB,EAaPA,EAAgBkT,EAAqBzT,GAAA,KAC1Ci9F,MAAQ18F,EAAA,KACRwpG,cAAgB,QAChBC,eAAuB,IACzBhqG,GAA2BA,EAAUgqG,WACtCp2E,GAAcrzB,GAAA,KACX0pG,YAAcx2F,EAAA,KAIdy2F,SAAWp2E,GAAMP,GAAM9f,GAAA,KAEvB02F,UAAYnqG,EAIjBg1C,GAAWw0D,WAAW/1F,EAAA,QAAAlT,EAAAtD,UAQxBmtG,wBAAA,SAAwB7pG,EAA0BkT,EAAwBzT,GAAA,IAChEwT,EAAgBiD,KAAhBwzF,YAEF5sD,EAAQ,MAEV5mC,KAAK0zF,WACP9sD,EAAM//C,KAAKmZ,KAAK0zF,UAAUC,wBAAwB7pG,EAAkBkT,EAAYzT,IAI9EyW,KAAKuzF,WAAahqG,EAAO69D,KAAA,GACvBpnD,KAAKszF,eAAiBt2F,EAAWk2F,aAAan2F,EAAaiD,KAAKszF,eAClE1sD,EAAM//C,KAAKmZ,KAAKszF,mBACX,KACChqG,EAAY41B,GAAQlf,KAAKwmF,MAAO18F,EAAkBkT,EAAYzT,GAAQ0lC,KAAK,IAC3Eh4B,EAAOwkB,GAAa4B,GAAMrd,KAAKyzF,SAAUnqG,KAAe,OAEzD0T,EAAWk2F,aAAan2F,EAAa9F,GAAO,KACzCoG,EAAqB9T,EAAOD,EAAA,IAAe2N,OAAA,EAAmB8F,GAEpEC,EAAWi1F,YAAYl1F,EAAa9F,EAAMoG,EAAA,CAG5CupC,EAAM//C,KAAKoQ,GAAA,KACNq8F,cAAgBr8F,CAAA,KAElB,SACGsF,EAAWyD,KAAKwmF,MAAhBn+F,OACJiV,EAAc+f,GAAMrd,KAAKyzF,SAAUlqG,EAAO69D,MAC1Cv+D,EAAM,GAED2T,EAAI,EAAGA,EAAID,EAAQC,IAAK,KACzBE,EAAWsD,KAAKwmF,MAAMhqF,GAAA,GAEJ,iBAAbE,EACT7T,GAAO6T,OAGF,GAAIA,EAAU,KACbG,EAAYqiB,GAAQxiB,EAAU5S,EAAkBkT,EAAYzT,GAC5DQ,EAAaxD,MAAMue,QAAQjI,GAAaA,EAAUoyB,KAAK,IAAMpyB,EACnES,EAAc+f,GAAM/f,EAAavT,EAAayS,GAC9C3T,GAAOkB,CAAA,KAIPlB,EAAK,KACD+T,EAAO6e,GAAane,IAAgB,OAErCN,EAAWk2F,aAAan2F,EAAaH,GAAO,KACzCO,EAAe5T,EAAOV,EAAA,IAAS+T,OAAA,EAAmBG,GACxDC,EAAWi1F,YAAYl1F,EAAaH,EAAMO,EAAA,CAG5CypC,EAAM//C,KAAK+V,EAAA,SAIRgqC,EAAM3X,KAAK,MAAAnlC,CAAA,CA/FD,GCPf+xB,GAAgB,gBAChBT,GAA0B,CAAC,IAAK,IAAK,IAAK,KAOjC,SAASG,GAAAzxB,GAAA,IAyBlBkT,EACAzT,EACAwT,EACA6pC,EAAAt9C,OAAA,IAAAQ,EAzB6B08B,GAAA18B,EAAAmN,EAAA3N,EAFjC0b,QAAA3H,OAAA,IAAApG,EAAUuvB,GAAAvvB,EAAAsF,EAAAjT,EACVsqG,QAAAt2F,OAAA,IAAAf,EAAUW,GAAAX,EAEJ1T,EAAS,IAAIgU,GAAOQ,GAMtBb,EAAe,GAWbE,ECdR,SAAwB5S,GAAA,SAIbkT,EAAQA,GAAA,GACXA,EAAA,IAEAlT,EAAckT,EAAA,KACd,MAAOlT,GAAA,SAIN,SACLP,EACAwT,EACA6pC,EACAt9C,EACA2N,EACAoG,EACAd,EACAe,EACAzU,EACA2T,GAAA,OAEQjT,GAAA,KAED,KAEW,IAAVV,GAAyC,KAA1BkU,EAAQ4oE,WAAW,GAAW,OAAO77E,EAAciT,EAAA,KAAa,cAGhF,KACQ,IAAPO,EAAU,OAAOP,EA/BT,mBAkCT,SACKO,GAAA,KAED,SACA,WACIxT,EAAW88C,EAAU,GAAK7pC,GAAU,kBAEpCA,GAAkB,IAAPP,EAzCV,QAyCiC,SAEzC,EACJO,EAAQyD,MA3CI,UA2CU/Z,QAAQuW,GAAA,EA7CtC,EDc4C,SAAAlT,GACxC0S,EAAa3V,KAAKiD,EAAA,IAQdC,EAAwB,SAACD,EAAOiT,EAAQzT,GAAA,OAG9B,IAAXyT,IAA8E,IAA/Dqe,GAAwB5zB,QAAQ8B,EAAOC,EAAUlB,UAEhEiB,EAAOlC,MAAMw/C,GAKT98C,EAAA,IAHMkT,CAAA,WA4BNJ,EAAe9S,EAAKR,EAAU2N,EAAQoG,QAAA,IAAAA,IAAAA,EAAc,SACrDd,EAAUzS,EAAIxC,QAAQu0B,GAAe,IACrCve,EAAShU,GAAY2N,EAAYA,EAAA,IAAU3N,EAAA,MAAciT,EAAA,KAAcA,EAAA,OAK7ES,EAAeK,EACf9T,EAAYD,EACZyT,EAAkB,IAAInV,OAAA,KAAY2B,EAAA,MAAgB,KAClDq9C,EAA4B,IAAIh/C,OAAA,MAAa2B,EAAA,YAEtCV,EAAOoO,IAAW3N,EAAW,GAAKA,EAAUgU,EAAA,QAdrDzU,EAAOyoG,IAAA,GAAAzhG,OAAQyN,EAAA,CAPwB,SAACxT,EAASkT,EAAG4pC,GAClC,IAAZ98C,GAAiB88C,EAAUv+C,QAAUu+C,EAAU,GAAGitD,YAAYtqG,GAAa,IAE7Eq9C,EAAU,GAAKA,EAAU,GAAGt/C,QAAQyV,EAAiBhT,GAAA,EAID2S,EAlD9B,SAAA5S,GAAA,IACP,IAAbA,EAAgB,KACZkT,EAAcR,EAAA,OACpBA,EAAe,GACRQ,CAAA,MA+DXJ,EAAewqD,KAAO9pD,EAAQjV,OAC1BiV,EACGgvC,QAAO,SAACxiD,EAAKkT,GAAA,OACPA,EAAOxI,MACVs2C,GAAiB,IAGZztB,GAAMvzB,EAAKkT,EAAOxI,KAAA,GHnGf,MGqGXtN,WACH,GAEG0V,CAAA,KE3FI0gB,GAAgDvgB,EAAAA,gBAEhDye,IADqB8B,GAAkB+iC,SACMtjD,EAAAA,iBAG7C6e,IAFiBJ,GAAc6kC,SAEL,IAAI9hB,IAC9BthB,GAA4B1B,KAEzC,SAAgBG,KAAA,OACPpyB,EAAAA,EAAAA,YAAWg0B,KAAsB1B,EAAA,CAG1C,SAAgBgB,KAAA,OACPtzB,EAAAA,EAAAA,YAAWkyB,KAAkByB,EAAA,CAGvB,SAASS,GAAkB5zB,GAAA,IAAAkT,GACV4pC,EAAAA,EAAAA,UAAS98C,EAAMo+F,eAAtC3+F,EAAAyT,EAAA,GAAS1T,EAAA0T,EAAA,GACVT,EAAoBmf,KAEpBpe,GAAarG,EAAAA,EAAAA,UAAQ,eACrB+F,EAAQT,EAAA,OAERzS,EAAMs6F,MAERpnF,EAAQlT,EAAMs6F,MACLt6F,EAAM+gB,SACf7N,EAAQA,EAAMg2F,uBAAuB,CAAEnoF,OAAQ/gB,EAAM+gB,SAAA,IAGnD/gB,EAAMgqG,wBACR92F,EAAQA,EAAMg2F,uBAAuB,CAAEL,mBAAA,KAGlC31F,CAAA,GACN,CAAClT,EAAMgqG,sBAAuBhqG,EAAMs6F,MAAOt6F,EAAM+gB,SAE9ChiB,GAASoO,EAAAA,EAAAA,UACb,kBACEskB,GAAqB,CACnBvW,QAAS,CAAE8iF,QAASh+F,EAAMiqG,uBAC1BH,QAAArqG,GAAA,GAEJ,CAACO,EAAMiqG,sBAAuBxqG,IAAA,OAGhC8T,EAAAA,EAAAA,YAAU,WACHX,KAAanT,EAASO,EAAMo+F,gBAAgB5+F,EAAWQ,EAAMo+F,cAAA,GACjE,CAACp+F,EAAMo+F,gBAGRnrF,EAAAA,cAACugB,GAAkB8iC,SAAA,CAASz2D,MAAO2T,GACjCP,EAAAA,cAACye,GAAc4kC,SAAA,CAASz2D,MAAOd,GAGzBiB,EAAMwb,UAAA,KCjEGiY,GAAA,oBAAAzzB,EAOPA,EAAckT,GAAA,IAAAzT,EAAA,UAM1Bo8C,OAAS,SAAC77C,EAAwBkT,QAAA,IAAAA,IAAAA,EAA8BigB,IAAA,IACxDlgB,EAAexT,EAAKiL,KAAOwI,EAAeoqD,KAE3Ct9D,EAAWopG,aAAa3pG,EAAK+pB,GAAIvW,IACpCjT,EAAWmoG,YACT1oG,EAAK+pB,GACLvW,EACAC,EAAezT,EAAKi9F,MAAOzpF,EAAc,qBAK/C7V,SAAW,kBACF4jD,GAAiB,GAAI/jD,OAAOwC,EAAKiL,MAAA,OAlBnCA,KAAO1K,EAAA,KACPwpB,GAAA,gBAAqBxpB,EAAA,KACrB08F,MAAQxpF,CAAA,QAAAlT,EAAAtD,UAmBfwtG,QAAA,SAAQlqG,GAAA,gBAAAA,IAAAA,EAA8BmzB,IAC7Bjd,KAAKxL,KAAO1K,EAAes9D,IAAA,EAAAt9D,CAAA,CA9BjB,GCCf6xB,GAAiB,UACjBsF,GAAmB,WACnBzD,GAAY,OACZW,GAAqB,SAACr0B,GAAA,UAA6BA,EAAK9C,aAAA,EAkB/C,SAASq0B,GAAmBvxB,GAAA,OAClC6xB,GAAe9zB,KAAKiC,GACzBA,EACCxC,QAAQ25B,GAAkB9C,IAC1B72B,QAAQk2B,GAAW,QACpB1zB,CAAA,CClBJ,IAAMumD,GAAY,SAAAvmD,GAAA,OAAS,MAAAA,IAAA,IAAyCA,GAA6B,KAAVA,CAAA,EAoBvF,SAAwBo1B,GACtBp1B,EACAP,EACAwT,EACA6pC,GAAA,GAEIrgD,MAAMue,QAAQhb,GAAQ,SAGYR,EAF9B2N,EAAU,GAEPoG,EAAI,EAAGd,EAAMzS,EAAMzB,OAAgBgV,EAAId,EAAKc,GAAK,EAGzC,MAFf/T,EAAS41B,GAAQp1B,EAAMuT,GAAI9T,EAAkBwT,EAAY6pC,MAGhDrgD,MAAMue,QAAQxb,GAAS2N,EAAQpQ,KAAAjB,MAARqR,EAAgB3N,GAC3C2N,EAAQpQ,KAAKyC,IAAA,OAGb2N,CAAA,QAGLo5C,GAAUvmD,GACL,GAILinC,GAAkBjnC,GAAA,IACTA,EAAM2nG,kBAIfr1F,GAAWtS,GC9DG,mBAFwBjB,EDiEhBiB,IC7DtBjB,EAAKrC,WACFqC,EAAKrC,UAAUq7C,mBD4Dct4C,EAapBO,EADLo1B,GAXQp1B,EAAMP,GAWEA,EAAkBwT,EAAY6pC,GAIrD98C,aAAiByzB,GACfxgB,GACFjT,EAAM67C,OAAO5oC,EAAY6pC,GAClB98C,EAAMkqG,QAAQptD,IACT98C,EAIT4wC,GAAc5wC,GAzEM,SAAhBA,EAAiBkT,EAAazT,GAAA,IEbHwT,EAAc6pC,EFc9Ct9C,EAAQ,OAET,IAAM2N,KAAO+F,EACXA,EAAI4C,eAAe3I,KAAQo5C,GAAUrzC,EAAI/F,MAEzC1Q,MAAMue,QAAQ9H,EAAI/F,KAAS+F,EAAI/F,GAAKg9F,OAAU73F,GAAWY,EAAI/F,IAChE3N,EAAMzC,KAAQw0B,GAAUpkB,GAAA,IAAS+F,EAAI/F,GAAM,KAClCyjC,GAAc19B,EAAI/F,IAC3B3N,EAAMzC,KAAAjB,MAAN0D,EAAcQ,EAAckT,EAAI/F,GAAMA,IAEtC3N,EAAMzC,KAAQw0B,GAAUpkB,GAAA,MExBU8F,EFwBe9F,GErBxC,OAHuC2vC,EFwBM5pC,EAAI/F,KErBxB,kBAAV2vC,GAAiC,KAAVA,EAC1C,GAGY,iBAAVA,GAAgC,IAAVA,GAAiB7pC,KAAQhT,GAInDhD,OAAO6/C,GAAOl/C,OAHTk/C,EAAA,oBFoBLr9C,EAAA,CAAcA,EAAA,MAAAsG,OAAgBvG,EAAA,CAAO,MAAOA,CAAA,CAfxB,CAyEiBQ,GAASA,EAAM5C,WAX3C,IC9E0B2B,CDyFiB,CG9E7D,IAAMg1B,GAAS,SAAA/zB,GAAA,OACTvD,MAAMue,QAAQhb,KAEhBA,EAAImqG,OAAA,GAECnqG,CAAA,EAGM,SAASk0B,GAAIl0B,GAAA,QAAAkT,EAAA5U,UAAAC,OAAmBkB,EAAA,IAAAhD,MAAAyW,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAxT,EAAAwT,EAAA,GAAA3U,UAAA2U,GAAA,OACzCX,GAAWtS,IAAW4wC,GAAc5wC,GAE/B+zB,GAAOqB,GAAQziB,GAAWS,GAAA,CAAcpT,GAAA+F,OAAWtG,MAG9B,IAA1BA,EAAelB,QAAkC,IAAlByB,EAAOzB,QAAqC,iBAAdyB,EAAO,GAE/DA,EAIF+zB,GAAOqB,GAAQziB,GAAW3S,EAAQP,IAAA,CC3B9B,IAAI8V,IADjB,IAiDsB2hB,GAAA,SC9CNl3B,EAAckT,EAAoBzT,GAAA,gBAAAA,IAAAA,EAAoBi9B,IAC5D18B,EAAMoqG,QAAU3qG,EAAa2qG,OAASpqG,EAAMoqG,OAAUl3F,GAAiBzT,EAAa2qG,KAAA,ECJxFh2E,GAAc,wCAEdiG,GAAe,WAMN,SAASjD,GAAOp3B,GAAA,OAE3BA,EAEGxC,QAAQ42B,GAAa,KAGrB52B,QAAQ68B,GAAc,ICd7B,IAAA1G,GAAA,SAAgB3zB,GAAA,OACP2xB,GAAuBoB,GAAK/yB,KAAS,ICH/B,SAASu6B,GAAMv6B,GAAA,MAER,iBAAXA,IACmB,CACgB,CCqB9C,IAAMs3B,GAAW,SAAAt3B,GAAA,MAEE,mBAARA,GAAsC,iBAARA,GAA4B,OAARA,IAAiBvD,MAAMue,QAAQhb,EAAA,EAItFi0B,GAAa,SAAAj0B,GAAA,MACF,cAARA,GAA+B,gBAARA,GAAiC,cAARA,CAAA,EAGzD,SAAS6zB,GAAM7zB,EAAQkT,EAAKzT,GAAA,IACpBwT,EAAMjT,EAAOP,GACf63B,GAASpkB,IAAQokB,GAASrkB,GAC5B+hB,GAAU/hB,EAAKC,GAEflT,EAAOP,GAAOyT,CAAA,CAIH,SAAS8hB,GAAUh1B,GAAA,QAAAkT,EAAA5U,UAAAC,OAAWkB,EAAA,IAAAhD,MAAAyW,EAAA,EAAAA,EAAA,KAAAD,EAAA,EAAAA,EAAAC,EAAAD,IAAAxT,EAAAwT,EAAA,GAAA3U,UAAA2U,GAAA,QAAA6pC,EAAA,EAAAt9C,EACzBC,EAAAq9C,EAAAt9C,EAAAjB,OAAAu+C,IAAM,KAAb3vC,EAAA3N,EAAAs9C,GAAA,GACLxlB,GAASnqB,GAAA,IACN,IAAMoG,KAAOpG,EACZ8mB,GAAW1gB,IACbsgB,GAAM7zB,EAAQmN,EAAIoG,GAAMA,EAAA,QAMzBvT,CAAA,KC5CIqqG,GAAsCp3F,EAAAA,gBAEtBo3F,GAAa9zC,SCc1C,IAAM1+B,GAAc,CAAC,EAkJrB,SAAwBzE,GACtBpzB,EACAkT,EAOAzT,GAAA,IAEMq9C,EAAqB7V,GAAkBjnC,GACvCmN,GAAwBotB,GAAMv6B,GAAAuT,EAMhCL,EAHFo3F,MAAA73F,OAAA,IAAAc,EAAQH,GAAAG,EAAAb,EAGNQ,EAFFw2F,YAAA92F,OAAA,IAAAF,EA/JJ,SAAoB1S,EAAsBkT,GAAA,IAClCzT,EAA8B,iBAAhBO,EAA2B,KAAOo3B,GAAOp3B,GAE7D63B,GAAYp4B,IAASo4B,GAAYp4B,IAAS,GAAK,MAEzCwT,EAAiBxT,EAAA,IAAQk0B,G7BzBP,Q6B4BTl0B,EAAOo4B,GAAYp4B,IAAA,OAG3ByT,EAAuBA,EAAA,IAAqBD,EAAgBA,CAAA,CAXrE,CA+J6BC,EAAQhD,YAAagD,EAAQq3F,mBAAA73F,EAAAK,EAEpDG,EADFhD,YAAAjQ,OAAA,IAAA8S,EC5LW,SACb/S,GAAA,OAEOu6B,GAAMv6B,GAAA,UAAoBA,EAAA,UAAqB6C,GAAiB7C,GAAA,IAH1D,CD4LuBA,GAAA+S,EAG9BJ,EACJO,EAAQhD,aAAegD,EAAQw2F,YACxBtyE,GAAOlkB,EAAQhD,aAAA,IAAgBgD,EAAQw2F,YAC1Cx2F,EAAQw2F,aAAe92F,EAGvBg+B,EACJkM,GAAwB98C,EAAgCsqG,MACpD7tG,MAAMC,UAAUqJ,OAAS/F,EAAgCsqG,MAAO73F,GAAOmvC,OAAOz3C,SAC9EsI,EAGFiB,EAAoBR,EAAQs3F,kBAE5B1tD,GAAsB98C,EAAOwqG,oBAG7B92F,EAFER,EAAQs3F,kBAEU,SAAC/qG,EAAMwT,EAAU6pC,GAAA,OAC/B98C,EAAgCwqG,kBAClC/qG,EACAwT,EACA6pC,IAEA5pC,EAAQs3F,kBAA4C/qG,EAAMwT,EAAU6pC,EAAA,EAGlD98C,EAAgCwqG,mBAAA,IAkBtD/jF,EAdEsY,EAAiB,IAAIzL,GACzB7zB,EACAkT,EACAmqC,EAAuB98C,EAAgByqG,oBAAA,GAKnCtjE,EAAWpI,EAAe0qE,UAA6B,IAAjBh3F,EAAMlU,OAQ5C2oC,EAAa,SAAClnC,EAAOkT,GAAA,OAhJ7B,SACElT,EACAkT,EACAzT,EACAwT,GAAA,IAGS6pC,EAOL98C,EAPFsqG,MACAn9F,EAMEnN,EANFyqG,eACAl3F,EAKEvT,EALFiQ,aACAwC,EAIEzS,EAJF0qG,mBACAh4F,EAGE1S,EAHFwqG,kBACA53F,EAEE5S,EAFF2nG,kBACA50F,EACE/S,EADF+gB,OAIuD9gB,EApE3D,SAAkCD,EAA2BkT,EAAezT,QAAA,IAA1CO,IAAAA,EAAa08B,IAAA,IAIvCzpB,EAAAE,GAAA,GAAeD,EAAA,CAAOk3F,MAAApqG,IACtB88C,EAAgB,CAAC,EAAD,OAEtBr9C,EAAM9C,SAAQ,SAAAqD,GAAA,IAERkT,EErD4BzT,EAAYD,EFoDxC2N,EAAkBnN,EAAA,IAQjBkT,KALDZ,GAAWnF,KACbA,EAAkBA,EAAgB8F,IAIxB9F,EACV8F,EAAQC,GAAO4pC,EAAc5pC,GACnB,cAARA,GE9D4BzT,EF+DZq9C,EAAc5pC,GE/DU1T,EF+DJ2N,EAAgB+F,GE9DnDzT,GAAKD,EAAOC,EAAA,IAAKD,EAAMC,GAAKD,GF+DzB2N,EAAgB+F,EAAA,IAKnB,CAACD,EAAS6pC,EAAA,CAzBnB,CAyEgB5lB,GAAehkB,GAAO1T,EAAAA,EAAAA,YAAW6qG,IAAe92F,IAEXmpB,GAAcxpB,EAAO4pC,GAAjEzpC,EAAApT,EAAA,GAAS0S,EAAA1S,EAAA,GAEV2wC,EAjDR,SACE5wC,EACAkT,EACAzT,EACAwT,GAAA,IAEM6pC,EAAalrB,KACbpyB,EAASszB,KAIuD,OAFpD5f,EACdlT,EAAe6pG,wBAAwBntE,GAAcogB,EAAYt9C,GACjEQ,EAAe6pG,wBAAwBpqG,EAAeq9C,EAAYt9C,EAS/D,CApBT,CAkDI2N,EACA8F,EACAI,GAIID,EAAe3T,EAEfoD,EAA6B8P,EAAMg4F,KAAOz3F,EAAMy3F,KAAOh4F,EAAMi4F,IAAM13F,EAAM03F,IAAM73F,EAE/Ek0B,EAAc1M,GAAM13B,GACpB6Q,EAAgBf,IAAUO,EAAAC,GAAA,GAAaD,EAAA,GAAUP,GAAUO,EAC3DuT,EAAkB,CAAC,EAAD,IAGnB,IAAMsY,KAAOrrB,EACD,MAAXqrB,EAAI,IAAsB,OAARA,IACL,gBAARA,EACPtY,EAAgBmkF,GAAKl3F,EAAcqrB,IAEnCrsB,EACIA,EAAkBqsB,EAAKjsB,GAAWjQ,IAClCokC,GACAn0B,GAAUisB,MAIdtY,EAAgBsY,GAAOrrB,EAAcqrB,KAAA,OAIrC7rB,EAAMmM,OAAS1M,EAAM0M,QAAUnM,EAAMmM,QACvCoH,EAAgBpH,MAAAlM,GAAA,GAAaD,EAAMmM,MAAA,GAAU1M,EAAM0M,QAGrDoH,EAAgBy+B,UAAYzoD,MAAMC,UAC/BqJ,OACC0M,EACAG,EACAg+B,IAAuBh+B,EAAoBg+B,EAAqB,KAChE19B,EAAMgyC,UACNvyC,EAAMuyC,WAEPtD,OAAOz3C,SACPg7B,KAAK,KAER1e,EAAgBse,IAAM3xB,GAEfI,EAAAA,EAAAA,eAAc3Q,EAAoB4jB,EAAA,CA3E3C,CAkJ2BA,EAAwBzmB,EAAOkT,EAAKi0B,EAAA,SAE7DD,EAAWh3B,YAAcjQ,GAEzBwmB,EAA2BxT,EAAAA,WAAiBi0B,IACrBojE,MAAQ15D,EAC/BnqB,EAAuBgkF,eAAiB1rE,EACxCtY,EAAuBvW,YAAcjQ,EACrCwmB,EAAuB+jF,kBAAoB92F,EAI3C+S,EAAuBikF,mBAAqB5tD,EACxCrgD,MAAMC,UAAUqJ,OACZ/F,EAAgC0qG,mBAChC1qG,EAAgC2nG,mBAEpCv0F,GAEJqT,EAAuBkhF,kBAAoBh1F,EAG3C8T,EAAuB1F,OAAS+7B,EAC1B98C,EAAgC+gB,OAClC/gB,EAEJymB,EAAuBokF,cAAgB,SAAuB7qG,GAAA,IACvCiT,EAA0CC,EAAvDw2F,YAAqC5sD,EAAA,SAAA98C,EAAAkT,GAAA,SAAAlT,EAAA,aAAAP,EAAAwT,EAAA6pC,EAAA,GAAAt9C,EAAApE,OAAA6W,KAAAjS,GAAA,IAAAiT,EAAA,EAAAA,EAAAzT,EAAAjB,OAAA0U,IAAAxT,EAAAD,EAAAyT,GAAAC,EAAAxV,QAAA+B,IAAA,IAAAq9C,EAAAr9C,GAAAO,EAAAP,IAAA,OAAAq9C,CAAA,EAAkB5pC,EAAA,iBAEzD1T,EACJyT,GACGA,EAAA,KAAuBsnB,GAAMv6B,GAAOA,EAAMo3B,GAAOv0B,GAAiB7C,KAAA,OAQhEozB,GAAsBpzB,EAAAmT,GAAA,GALxB2pC,EAAA,CACHwtD,MAAO15D,EACP84D,YAAalqG,IAG+BC,EAAA,EAGhDrE,OAAOkW,eAAemV,EAAwB,eAAgB,CAC5DpmB,IAAA,kBACS6V,KAAK40F,mBAAA,EAGdlsG,IAAA,SAAIsU,GAAA,KACG43F,oBAAsBhuD,EACvB9nB,GAAM,CAAC,EAAKh1B,EAAgCiQ,aAAciD,GAC1DA,CAAA,IAaRuT,EAAuBrpB,SAAW,qBAAUqpB,EAAuBkhF,iBAAA,EAE/Dx6F,GACFkG,KAIEoT,EAA0BzmB,EAA0D,CAEpFsqG,OAAA,EACAG,gBAAA,EACAv6F,aAAA,EACAw6F,oBAAA,EACAF,mBAAA,EACA7C,mBAAA,EACA5mF,QAAA,EACA8pF,eAAA,IAIGpkF,CAAA,CGpUT,ICIM8N,GAAS,SAACv0B,GAAA,gBCCQA,EACtBkT,EACAD,EACA6pC,GAAA,YAAAA,IAAAA,EAAkBpgB,MAEbj9B,EAAAA,GAAAA,oBAAmBwT,GAAA,OACf+tC,GAAiB,EAAG/jD,OAAOgW,IAAA,IAK9BzT,EAAmB,kBAAa0T,EAAqBD,EAAK6pC,EAAS5oB,GAAAp4B,WAAA,EAAAwC,WAAA,SAGzEkB,EAAiBurG,WAAa,SAAAtrG,GAAA,OAC5BO,EAAqBkT,EAAsBD,EAAAE,GAAA,GAAU2pC,EAAA,GAAYr9C,GAAA,EAGnED,EAAiB8qG,MAAQ,SAAA7qG,GAAA,OACvBO,EAAqBkT,EAAsBD,EAAAE,GAAA,GACtC2pC,EAAA,CACHwtD,MAAO7tG,MAAMC,UAAUqJ,OAAO+2C,EAAQwtD,MAAO7qG,GAAOmiD,OAAOz3C,WAAA,EAGxD3K,CAAA,CDzBO,CAAqC4zB,GAAiBpzB,EAAA,EDJvD,CACb,IACA,OACA,UACA,OACA,UACA,QACA,QACA,IACA,OACA,MACA,MACA,MACA,aACA,OACA,KACA,SACA,SACA,UACA,OACA,OACA,MACA,WACA,OACA,WACA,KACA,MACA,UACA,MACA,SACA,MACA,KACA,KACA,KACA,QACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,SACA,QACA,SACA,KACA,OACA,OACA,MACA,OACA,UACA,OACA,WACA,OACA,QACA,MACA,WACA,SACA,KACA,WACA,SACA,SACA,IACA,QACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,SACA,UACA,SACA,QACA,SACA,OACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,QACA,KACA,QACA,IACA,KACA,MACA,QACA,MAGA,SACA,WACA,OACA,UACA,gBACA,IACA,QACA,OACA,iBACA,SACA,OACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,MACA,OACA,WACA,SCnIUrD,SAAQ,SAAAqD,GAClBu0B,GAAOv0B,GAAcu0B,GAAOv0B,EAAA,KELT,oBAAAA,EAOPA,EAAgBkT,GAAA,KACrBwpF,MAAQ18F,EAAA,KACR0pG,YAAcx2F,EAAA,KACdu2F,SAAWp2E,GAAcrzB,GAI9By0C,GAAWw0D,WAAW/yF,KAAKwzF,YAAc,OAAAx2F,EAAAlT,EAAAtD,UAAAwW,EAG3C83F,aAAA,SACEhrG,EACAkT,EACAzT,EACAwT,GAAA,IAGM6pC,EAAM7pC,EADImiB,GAAQlf,KAAKwmF,MAAOxpF,EAAkBzT,EAAYwT,GACvCkyB,KAAK,IAAK,IAC/B3lC,EAAK0W,KAAKwzF,YAAc1pG,EAG9BP,EAAW0oG,YAAY3oG,EAAIA,EAAI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","sources":["../node_modules/dompurify/src/utils.js","../node_modules/dompurify/src/tags.js","../node_modules/dompurify/src/attrs.js","../node_modules/dompurify/src/regexp.js","../node_modules/dompurify/src/purify.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-image-gallery/build/image-gallery.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-lazy-load-image-component/build/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/shallowequal/index.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/nonce","../node_modules/@remix-run/router/history.ts","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/utils.ts","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","context/SearchContext.jsx","components/SearchBar/SearchBar.jsx","components/UI/BurgerMenu/BurgerMenu.jsx","components/Header/Header.jsx","components/Footer/Footer.jsx","pages/MainPage/MainPage.jsx","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","hooks/useSortGames.jsx","hooks/useFetching.jsx","hooks/useObserver.jsx","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","config.js","API/services/games/GamesService.jsx","resources/img/icons/playstation.svg","resources/img/icons/xbox.svg","resources/img/icons/windows.svg","resources/img/icons/android.svg","resources/img/icons/nintendo.svg","resources/img/icons/ios.svg","components/UI/Platforms/Platforms.jsx","utils/formatRating.jsx","components/UI/Ratings/Ratings.jsx","resources/img/icons/add_white_24dp.svg","components/GameItem/GameItem.jsx","components/GamesList/GamesList.jsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","components/UI/MySelect/MySelect.jsx","../node_modules/react-loader-spinner/dist/esm/type.js","../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","../node_modules/styled-components/src/utils/interleave.js","../node_modules/styled-components/src/utils/isPlainObject.js","../node_modules/styled-components/src/utils/empties.js","../node_modules/styled-components/src/utils/isFunction.js","../node_modules/styled-components/src/utils/getComponentName.js","../node_modules/styled-components/src/utils/isStyledComponent.js","../node_modules/styled-components/src/constants.js","../node_modules/styled-components/src/utils/error.js","../node_modules/styled-components/src/sheet/GroupedTag.js","../node_modules/styled-components/src/sheet/GroupIDAllocator.js","../node_modules/styled-components/src/sheet/Rehydration.js","../node_modules/styled-components/src/utils/nonce.js","../node_modules/styled-components/src/sheet/dom.js","../node_modules/styled-components/src/sheet/Tag.js","../node_modules/styled-components/src/sheet/Sheet.js","../node_modules/styled-components/src/utils/generateAlphabeticName.js","../node_modules/styled-components/src/utils/hash.js","../node_modules/styled-components/src/utils/isStaticRules.js","../node_modules/styled-components/src/models/ComponentStyle.js","../node_modules/styled-components/src/utils/stylis.js","../node_modules/styled-components/src/utils/stylisPluginInsertRule.js","../node_modules/styled-components/src/models/StyleSheetManager.js","../node_modules/styled-components/src/models/Keyframes.js","../node_modules/styled-components/src/utils/hyphenateStyleName.js","../node_modules/styled-components/src/utils/flatten.js","../node_modules/styled-components/src/utils/isStatelessFunction.js","../node_modules/styled-components/src/utils/addUnitIfNeeded.js","../node_modules/styled-components/src/constructors/css.js","../node_modules/styled-components/src/utils/checkDynamicCreation.js","../node_modules/styled-components/src/utils/determineTheme.js","../node_modules/styled-components/src/utils/escape.js","../node_modules/styled-components/src/utils/generateComponentId.js","../node_modules/styled-components/src/utils/isTag.js","../node_modules/styled-components/src/utils/mixinDeep.js","../node_modules/styled-components/src/models/ThemeProvider.js","../node_modules/styled-components/src/models/StyledComponent.js","../node_modules/styled-components/src/utils/generateDisplayName.js","../node_modules/styled-components/src/utils/joinStrings.js","../node_modules/styled-components/src/utils/domElements.js","../node_modules/styled-components/src/constructors/styled.js","../node_modules/styled-components/src/constructors/constructWithOptions.js","../node_modules/styled-components/src/models/GlobalStyle.js","../node_modules/styled-components/src/constructors/keyframes.js","../node_modules/styled-components/src/models/ServerStyleSheet.js","../node_modules/react-loader-spinner/dist/esm/loader/InfinitySpin.js","../node_modules/styled-components/src/base.js","../node_modules/styled-tools/dist/es/prop.js","../node_modules/styled-tools/dist/es/ifProp.js","../node_modules/react-loader-spinner/dist/esm/loader/RotatingLines.js","../node_modules/react-loader-spinner/dist/esm/helpers.js","../node_modules/react-loader-spinner/dist/esm/loader/Triangle.js","../node_modules/react-loader-spinner/dist/esm/loader/TailSpin.js","../node_modules/react-loader-spinner/dist/esm/loader/ProgressBar.js","webpack://react-games/./src/components/UI/LoaderContent/LoaderContent.module.scss?2625","components/UI/LoaderContent/LoaderContent.jsx","webpack://react-games/./src/components/UI/Error/Error.module.scss?14ef","components/UI/Error/Error.jsx","utils/getTotalPageCount.jsx","pages/PopularGamesPage/PopularGamesPage.jsx","pages/RatingGamesPage/RatingGamesPage.jsx","pages/MetacriticGamesPage/MetacriticGamesPage.jsx","API/services/developers/DevelopersService.jsx","components/UI/CardDefault/CardDefault.jsx","components/UI/CardList/CardList.jsx","pages/DevelopersPage/DevelopersPage.jsx","API/services/publishers/PublishersService.jsx","pages/PublishersPage/PublishersPage.jsx","API/services/genres/GenresService.jsx","pages/GenresPage/GenresPage.jsx","API/services/platforms/PlatformsService.jsx","pages/PlatformsPage/PlatformsPage.jsx","API/services/tags/TagsService.jsx","pages/TagsPage/TagsPage.jsx","webpack://react-games/./src/components/UI/Loader/Loader.module.scss?b522","components/UI/Loader/Loader.jsx","pages/SingleDelevoperPage/SingleDelevoperPage.jsx","resources/img/icons/modal-close.svg","webpack://react-games/./src/components/UI/Modal/Modal.module.scss?bb8a","components/UI/Modal/Modal.jsx","../node_modules/ssr-window/ssr-window.esm.js","../node_modules/swiper/shared/get-support.js","../node_modules/swiper/shared/get-device.js","../node_modules/swiper/shared/get-browser.js","../node_modules/swiper/shared/utils.js","../node_modules/swiper/core/events-emitter.js","../node_modules/swiper/core/update/index.js","../node_modules/swiper/core/update/updateSize.js","../node_modules/swiper/core/update/updateSlides.js","../node_modules/swiper/core/update/updateAutoHeight.js","../node_modules/swiper/core/update/updateSlidesOffset.js","../node_modules/swiper/core/update/updateSlidesProgress.js","../node_modules/swiper/core/update/updateProgress.js","../node_modules/swiper/core/update/updateSlidesClasses.js","../node_modules/swiper/core/update/updateActiveIndex.js","../node_modules/swiper/core/update/updateClickedSlide.js","../node_modules/swiper/core/translate/index.js","../node_modules/swiper/core/translate/getTranslate.js","../node_modules/swiper/core/translate/setTranslate.js","../node_modules/swiper/core/translate/minTranslate.js","../node_modules/swiper/core/translate/maxTranslate.js","../node_modules/swiper/core/translate/translateTo.js","../node_modules/swiper/core/transition/transitionEmit.js","../node_modules/swiper/core/transition/index.js","../node_modules/swiper/core/transition/setTransition.js","../node_modules/swiper/core/transition/transitionStart.js","../node_modules/swiper/core/transition/transitionEnd.js","../node_modules/swiper/core/slide/index.js","../node_modules/swiper/core/slide/slideTo.js","../node_modules/swiper/core/slide/slideToLoop.js","../node_modules/swiper/core/slide/slideNext.js","../node_modules/swiper/core/slide/slidePrev.js","../node_modules/swiper/core/slide/slideReset.js","../node_modules/swiper/core/slide/slideToClosest.js","../node_modules/swiper/core/slide/slideToClickedSlide.js","../node_modules/swiper/core/loop/index.js","../node_modules/swiper/core/loop/loopCreate.js","../node_modules/swiper/core/loop/loopFix.js","../node_modules/swiper/core/loop/loopDestroy.js","../node_modules/swiper/core/grab-cursor/index.js","../node_modules/swiper/core/events/onResize.js","../node_modules/swiper/core/grab-cursor/setGrabCursor.js","../node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","../node_modules/swiper/core/events/onTouchStart.js","../node_modules/swiper/core/events/onTouchMove.js","../node_modules/swiper/core/events/onTouchEnd.js","../node_modules/swiper/core/events/onClick.js","../node_modules/swiper/core/events/onScroll.js","../node_modules/swiper/shared/process-lazy-preloader.js","../node_modules/swiper/core/events/onLoad.js","../node_modules/swiper/core/events/index.js","../node_modules/swiper/core/breakpoints/setBreakpoint.js","../node_modules/swiper/core/breakpoints/index.js","../node_modules/swiper/core/breakpoints/getBreakpoint.js","../node_modules/swiper/core/classes/index.js","../node_modules/swiper/core/classes/addClasses.js","../node_modules/swiper/core/classes/removeClasses.js","../node_modules/swiper/core/check-overflow/index.js","../node_modules/swiper/core/defaults.js","../node_modules/swiper/core/moduleExtendParams.js","../node_modules/swiper/core/core.js","../node_modules/swiper/core/modules/resize/resize.js","../node_modules/swiper/core/modules/observer/observer.js","../node_modules/swiper/shared/create-element-if-not-defined.js","../node_modules/swiper/modules/navigation/navigation.js","../node_modules/swiper/shared/classes-to-selector.js","../node_modules/swiper/modules/pagination/pagination.js","../node_modules/swiper/modules/scrollbar/scrollbar.js","../node_modules/swiper/modules/free-mode/free-mode.js","../node_modules/swiper/components-shared/utils.js","../node_modules/swiper/components-shared/params-list.js","../node_modules/swiper/react/get-children.js","../node_modules/swiper/components-shared/update-swiper.js","../node_modules/swiper/react/use-isomorphic-layout-effect.js","../node_modules/swiper/react/context.js","../node_modules/swiper/react/swiper.js","../node_modules/swiper/components-shared/get-params.js","../node_modules/swiper/components-shared/mount-swiper.js","../node_modules/swiper/components-shared/get-changed-params.js","../node_modules/swiper/components-shared/update-on-virtual-data.js","../node_modules/swiper/react/virtual.js","../node_modules/swiper/react/swiper-slide.js","components/GameScreenshots/GameScreenshots.jsx","components/GameAchievements/GameAchievements.jsx","components/GameDevs/GameDevs.jsx","utils/formatDate.jsx","components/GameRedditPosts/GameRedditPosts.jsx","components/GameAdditions/GameAdditions.jsx","resources/img/icons/psStore.svg","resources/img/icons/steamStore.svg","resources/img/icons/xboxStore.svg","resources/img/icons/nintendoStore.svg","resources/img/icons/epicgamesStore.svg","resources/img/icons/googlePlayStore.svg","resources/img/icons/appleStore.svg","resources/img/icons/gogStore.svg","resources/img/icons/itchIoStore.svg","components/UI/StoresAvailable/StoresAvailable.jsx","components/UI/Requirements/Requirements.jsx","pages/SingleGamePage/SingleGamePage.jsx","pages/SinglePublisherPage/SinglePublisherPage.jsx","pages/SingleGenrePage/SingleGenrePage.jsx","pages/SinglePlatformPage/SinglePlatformPage.jsx","pages/SingleTagPage/SingleTagPage.jsx","router/index.jsx","pages/SearchResultPage/SearchResultPage.jsx","pages/AppRouter.jsx","App.js","index.js"],"sourcesContent":["const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n} = Object;\n\nlet { freeze, seal, create } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = create(null);\n\n for (const [property, value] of entries(object)) {\n newObject[property] = value;\n }\n\n return newObject;\n}\n\n/* This method automatically checks if the prop is function\n * or getter and behaves accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n entries,\n freeze,\n getPrototypeOf,\n getOwnPropertyDescriptor,\n isFrozen,\n setPrototypeOf,\n seal,\n // RegExp\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringTrim,\n // Errors\n typeErrorCreate,\n // Other\n lookupGetter,\n};\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feImage',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nexport const svgDisallowed = freeze([\n 'animate',\n 'color-profile',\n 'cursor',\n 'discard',\n 'fedropshadow',\n 'font-face',\n 'font-face-format',\n 'font-face-name',\n 'font-face-src',\n 'font-face-uri',\n 'foreignobject',\n 'hatch',\n 'hatchpath',\n 'mesh',\n 'meshgradient',\n 'meshpatch',\n 'meshrow',\n 'missing-glyph',\n 'script',\n 'set',\n 'solidcolor',\n 'unknown',\n 'use',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nexport const mathMlDisallowed = freeze([\n 'maction',\n 'maligngroup',\n 'malignmark',\n 'mlongdiv',\n 'mscarries',\n 'mscarry',\n 'msgroup',\n 'mstack',\n 'msline',\n 'msrow',\n 'semantics',\n 'annotation',\n 'annotation-xml',\n 'mprescripts',\n 'none',\n]);\n\nexport const text = freeze(['#text']);\n","import { freeze } from './utils.js';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'nonce',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n 'slot',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clippathunits',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'systemlanguage',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'transform-origin',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n","import { seal } from './utils.js';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nexport const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nexport const DOCTYPE_NAME = seal(/^html$/i);\n","import * as TAGS from './tags.js';\nimport * as ATTRS from './attrs.js';\nimport * as EXPRESSIONS from './regexp.js';\nimport {\n addToSet,\n clone,\n entries,\n freeze,\n arrayForEach,\n arrayPop,\n arrayPush,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringToString,\n stringIndexOf,\n stringTrim,\n regExpTest,\n typeErrorCreate,\n lookupGetter,\n} from './utils.js';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes,\n } = window;\n\n const ElementPrototype = Element.prototype;\n\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n typeof entries === 'function' &&\n typeof getParentNode === 'function' &&\n implementation &&\n typeof implementation.createHTMLDocument !== 'undefined';\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(\n Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null,\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false,\n },\n })\n );\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'noscript',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'role',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet(\n {},\n [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE],\n stringToString\n );\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n const isRegexOrFunction = function (testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1\n ? (PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE)\n : (PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE);\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc =\n PARSER_MEDIA_TYPE === 'application/xhtml+xml'\n ? stringToString\n : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc)\n : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES =\n 'ALLOWED_NAMESPACES' in cfg\n ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString)\n : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(\n clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS =\n 'ADD_DATA_URI_TAGS' in cfg\n ? addToSet(\n clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS =\n 'FORBID_CONTENTS' in cfg\n ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc)\n : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS =\n 'FORBID_TAGS' in cfg\n ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc)\n : {};\n FORBID_ATTR =\n 'FORBID_ATTR' in cfg\n ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc)\n : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)\n ) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck =\n cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (\n cfg.CUSTOM_ELEMENT_HANDLING &&\n typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements ===\n 'boolean'\n ) {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements =\n cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n ]);\n\n const HTML_INTEGRATION_POINTS = addToSet({}, [\n 'foreignobject',\n 'desc',\n 'title',\n 'annotation-xml',\n ]);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, [\n 'title',\n 'style',\n 'font',\n 'a',\n 'script',\n ]);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, TAGS.svg);\n addToSet(ALL_SVG_TAGS, TAGS.svgFilters);\n addToSet(ALL_SVG_TAGS, TAGS.svgDisallowed);\n\n const ALL_MATHML_TAGS = addToSet({}, TAGS.mathMl);\n addToSet(ALL_MATHML_TAGS, TAGS.mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function (element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template',\n };\n }\n\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return (\n tagName === 'svg' &&\n (parentTagName === 'annotation-xml' ||\n MATHML_TEXT_INTEGRATION_POINTS[parentTagName])\n );\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (\n parent.namespaceURI === SVG_NAMESPACE &&\n !HTML_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n if (\n parent.namespaceURI === MATHML_NAMESPACE &&\n !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]\n ) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return (\n !ALL_MATHML_TAGS[tagName] &&\n (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName])\n );\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n ALLOWED_NAMESPACES[element.namespaceURI]\n ) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.remove();\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (\n PARSER_MEDIA_TYPE === 'application/xhtml+xml' &&\n NAMESPACE === HTML_NAMESPACE\n ) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty =\n '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' +\n dirty +\n '</body></html>';\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT\n ? emptyHTML\n : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n\n const body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(\n document.createTextNode(leadingWhitespace),\n body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(\n doc,\n WHOLE_DOCUMENT ? 'html' : 'body'\n )[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,\n null,\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n return (\n elm instanceof HTMLFormElement &&\n (typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string' ||\n typeof elm.insertBefore !== 'function' ||\n typeof elm.hasChildNodes !== 'function')\n );\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (\n currentNode.hasChildNodes() &&\n !_isNode(currentNode.firstElementChild) &&\n (!_isNode(currentNode.content) ||\n !_isNode(currentNode.content.firstElementChild)) &&\n regExpTest(/<[/\\w]/g, currentNode.innerHTML) &&\n regExpTest(/<[/\\w]/g, currentNode.textContent)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)\n )\n return false;\n if (\n CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)\n )\n return false;\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n\n for (let i = childCount - 1; i >= 0; --i) {\n parentNode.insertBefore(\n cloneNode(childNodes[i], true),\n getNextSibling(currentNode)\n );\n }\n }\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get noscript mXSS */\n if (\n (tagName === 'noscript' || tagName === 'noembed') &&\n regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n content = stringReplace(content, TMPLIT_EXPR, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (\n ALLOW_DATA_ATTR &&\n !FORBID_ATTR[lcName] &&\n regExpTest(DATA_ATTR, lcName)\n ) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n (_basicCustomElementTest(lcTag) &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag))) &&\n ((CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName)) ||\n (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)))) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n (lcName === 'is' &&\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements &&\n ((CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp &&\n regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value)) ||\n (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function &&\n CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))))\n ) {\n // If user has supplied a regexp or function in CUSTOM_ELEMENT_HANDLING.tagNameCheck, we need to also allow derived custom elements using the same tagName test.\n // Additionally, we need to allow attributes passing the CUSTOM_ELEMENT_HANDLING.attributeNameCheck user has configured, as custom elements can define these at their own discretion.\n } else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n const _basicCustomElementTest = function (tagName) {\n return tagName.indexOf('-') > 0;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function (currentNode) {\n let attr;\n let value;\n let lcName;\n let l;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n const { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n const { name, namespaceURI } = attr;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n value = stringReplace(value, TMPLIT_EXPR, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Handle attributes that require Trusted Types */\n if (\n trustedTypesPolicy &&\n typeof trustedTypes === 'object' &&\n typeof trustedTypes.getAttributeType === 'function'\n ) {\n if (namespaceURI) {\n /* Namespaces are not yet supported, see https://bugs.chromium.org/p/chromium/issues/detail?id=1305293 */\n } else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n default:\n break;\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode;\n const shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg = {}) {\n let body;\n let importedNode;\n let currentNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate(\n 'root node is forbidden and cannot be sanitized in-place'\n );\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmod) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (\n WHOLE_DOCUMENT &&\n ALLOWED_TAGS['!doctype'] &&\n body.ownerDocument &&\n body.ownerDocument.doctype &&\n body.ownerDocument.doctype.name &&\n regExpTest(EXPRESSIONS.DOCTYPE_NAME, body.ownerDocument.doctype.name)\n ) {\n serializedHTML =\n '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;function Lg(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}var Mg=Uf(null),Ng=null,Og=null,Pg=null;function Qg(){Pg=Og=Ng=null}function Rg(a){var b=Mg.current;E(Mg);a._currentValue=b}\nfunction Sg(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Tg(a,b){Ng=a;Pg=Og=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(Ug=!0),a.firstContext=null)}\nfunction Vg(a){var b=a._currentValue;if(Pg!==a)if(a={context:a,memoizedValue:b,next:null},null===Og){if(null===Ng)throw Error(p(308));Og=a;Ng.dependencies={lanes:0,firstContext:a}}else Og=Og.next=a;return b}var Wg=null;function Xg(a){null===Wg?Wg=[a]:Wg.push(a)}function Yg(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,Xg(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Zg(a,d)}\nfunction Zg(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var $g=!1;function ah(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function ch(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction dh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return Zg(a,c)}e=d.interleaved;null===e?(b.next=b,Xg(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Zg(a,c)}function eh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction fh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction gh(a,b,c,d){var e=a.updateQueue;$g=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:$g=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);hh|=g;a.lanes=g;a.memoizedState=q}}\nfunction ih(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var jh=(new aa.Component).refs;function kh(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar nh={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=L(),e=lh(a),f=ch(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=dh(a,f,e);null!==b&&(mh(b,a,e,d),eh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=L(),d=\nlh(a),e=ch(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=dh(a,e,d);null!==b&&(mh(b,a,d,c),eh(b,a,d))}};function oh(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction ph(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=Vg(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=nh;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction qh(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&nh.enqueueReplaceState(b,b.state,null)}\nfunction rh(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jh;ah(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=Vg(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kh(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&nh.enqueueReplaceState(e,e.state,null),gh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}\nfunction sh(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;b===jh&&(b=e.refs={});null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction th(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function uh(a){var b=a._init;return b(a._payload)}\nfunction vh(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=wh(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=xh(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&uh(f)===b.type))return d=e(b,c.props),d.ref=sh(a,b,c),d.return=a,d;d=yh(c.type,c.key,c.props,null,a.mode,d);d.ref=sh(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=zh(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Ah(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=xh(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=yh(b.type,b.key,b.props,null,a.mode,c),\nc.ref=sh(a,null,b),c.return=a,c;case wa:return b=zh(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Ah(b,a.mode,c,null),b.return=a,b;th(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);th(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);th(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;a<Nh.length;a++)Nh[a]._workInProgressVersionPrimary=null;Nh.length=0}var Ph=ua.ReactCurrentDispatcher,Qh=ua.ReactCurrentBatchConfig,Rh=0,N=null,O=null,P=null,Sh=!1,Th=!1,Uh=0,Vh=0;function Q(){throw Error(p(321));}function Wh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Xh(a,b,c,d,e,f){Rh=f;N=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Ph.current=null===a||null===a.memoizedState?Yh:Zh;a=c(d,e);if(Th){f=0;do{Th=!1;Uh=0;if(25<=f)throw Error(p(301));f+=1;P=O=null;b.updateQueue=null;Ph.current=$h;a=c(d,e)}while(Th)}Ph.current=ai;b=null!==O&&null!==O.next;Rh=0;P=O=N=null;Sh=!1;if(b)throw Error(p(300));return a}function bi(){var a=0!==Uh;Uh=0;return a}\nfunction ci(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===P?N.memoizedState=P=a:P=P.next=a;return P}function di(){if(null===O){var a=N.alternate;a=null!==a?a.memoizedState:null}else a=O.next;var b=null===P?N.memoizedState:P.next;if(null!==b)P=b,O=a;else{if(null===a)throw Error(p(310));O=a;a={memoizedState:O.memoizedState,baseState:O.baseState,baseQueue:O.baseQueue,queue:O.queue,next:null};null===P?N.memoizedState=P=a:P=P.next=a}return P}\nfunction ei(a,b){return\"function\"===typeof b?b(a):b}\nfunction fi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=O,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Rh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;N.lanes|=m;hh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(Ug=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,N.lanes|=f,hh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction gi(a){var b=di(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(Ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function hi(){}\nfunction ii(a,b){var c=N,d=di(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,Ug=!0);d=d.queue;ji(ki.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==P&&P.memoizedState.tag&1){c.flags|=2048;li(9,mi.bind(null,c,d,e,b),void 0,null);if(null===R)throw Error(p(349));0!==(Rh&30)||ni(c,b,e)}return e}function ni(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction mi(a,b,c,d){b.value=c;b.getSnapshot=d;oi(b)&&pi(a)}function ki(a,b,c){return c(function(){oi(b)&&pi(a)})}function oi(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function pi(a){var b=Zg(a,1);null!==b&&mh(b,a,1,-1)}\nfunction qi(a){var b=ci();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ei,lastRenderedState:a};b.queue=a;a=a.dispatch=ri.bind(null,N,a);return[b.memoizedState,a]}\nfunction li(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=N.updateQueue;null===b?(b={lastEffect:null,stores:null},N.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function si(){return di().memoizedState}function ti(a,b,c,d){var e=ci();N.flags|=a;e.memoizedState=li(1|b,c,void 0,void 0===d?null:d)}\nfunction ui(a,b,c,d){var e=di();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&Wh(d,g.deps)){e.memoizedState=li(b,c,f,d);return}}N.flags|=a;e.memoizedState=li(1|b,c,f,d)}function vi(a,b){return ti(8390656,8,a,b)}function ji(a,b){return ui(2048,8,a,b)}function wi(a,b){return ui(4,2,a,b)}function xi(a,b){return ui(4,4,a,b)}\nfunction yi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function zi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ui(4,4,yi.bind(null,b,a),c)}function Ai(){}function Bi(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction Ci(a,b){var c=di();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Wh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function Di(a,b,c){if(0===(Rh&21))return a.baseState&&(a.baseState=!1,Ug=!0),a.memoizedState=c;He(c,b)||(c=yc(),N.lanes|=c,hh|=c,a.baseState=!0);return b}function Ei(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Vh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Zh={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:fi,useRef:si,useState:function(){return fi(ei)},\nuseDebugValue:Ai,useDeferredValue:function(a){var b=di();return Di(b,O.memoizedState,a)},useTransition:function(){var a=fi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1},$h={readContext:Vg,useCallback:Bi,useContext:Vg,useEffect:ji,useImperativeHandle:zi,useInsertionEffect:wi,useLayoutEffect:xi,useMemo:Ci,useReducer:gi,useRef:si,useState:function(){return gi(ei)},useDebugValue:Ai,useDeferredValue:function(a){var b=di();return null===\nO?b.memoizedState=a:Di(b,O.memoizedState,a)},useTransition:function(){var a=gi(ei)[0],b=di().memoizedState;return[a,b]},useMutableSource:hi,useSyncExternalStore:ii,useId:Fi,unstable_isNewReconciler:!1};function Ki(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}function Li(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}\nfunction Mi(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Ni=\"function\"===typeof WeakMap?WeakMap:Map;function Oi(a,b,c){c=ch(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Pi||(Pi=!0,Qi=d);Mi(a,b)};return c}\nfunction Ri(a,b,c){c=ch(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Mi(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Mi(a,b);\"function\"!==typeof d&&(null===Si?Si=new Set([this]):Si.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Ti(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Ni;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ui.bind(null,a,b,c),b.then(a,a))}function Vi(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Wi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=ch(-1,1),b.tag=2,dh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Xi=ua.ReactCurrentOwner,Ug=!1;function Yi(a,b,c,d){b.child=null===a?Ch(b,null,c,d):Bh(b,a.child,c,d)}\nfunction Zi(a,b,c,d,e){c=c.render;var f=b.ref;Tg(b,e);d=Xh(a,b,c,d,f,e);c=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&c&&vg(b);b.flags|=1;Yi(a,b,d,e);return b.child}\nfunction aj(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!bj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,cj(a,b,f,d,e);a=yh(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return $i(a,b,e)}b.flags|=1;a=wh(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction cj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(Ug=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(Ug=!0);else return b.lanes=a.lanes,$i(a,b,e)}return dj(a,b,c,d,e)}\nfunction ej(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(fj,gj),gj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(fj,gj),gj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(fj,gj);gj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(fj,gj),gj|=d;Yi(a,b,e,c);return b.child}function hj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function dj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);Tg(b,e);c=Xh(a,b,c,d,f,e);d=bi();if(null!==a&&!Ug)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,$i(a,b,e);I&&d&&vg(b);b.flags|=1;Yi(a,b,c,e);return b.child}\nfunction ij(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;Tg(b,e);if(null===b.stateNode)jj(a,b),ph(b,c,d),rh(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=Vg(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&qh(b,g,d,l);$g=!1;var r=b.memoizedState;g.state=r;gh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||$g?(\"function\"===typeof m&&(kh(b,c,m,d),k=b.memoizedState),(h=$g||oh(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Lg(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=Vg(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&qh(b,g,d,k);$g=!1;r=b.memoizedState;g.state=r;gh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||$g?(\"function\"===typeof y&&(kh(b,c,y,d),n=b.memoizedState),(l=$g||oh(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return kj(a,b,c,d,f,e)}\nfunction kj(a,b,c,d,e,f){hj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),$i(a,b,f);d=b.stateNode;Xi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Bh(b,a.child,null,f),b.child=Bh(b,null,h,f)):Yi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function lj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);Ih(a,b.containerInfo)}\nfunction mj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Yi(a,b,c,d);return b.child}var nj={dehydrated:null,treeContext:null,retryLane:0};function oj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction pj(a,b,c){var d=b.pendingProps,e=M.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(M,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=qj(g,d,0,null),a=Ah(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=oj(c),b.memoizedState=nj,a):rj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return sj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=wh(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=wh(h,f):(f=Ah(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?oj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=nj;return d}f=a.child;a=f.sibling;d=wh(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction rj(a,b){b=qj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function tj(a,b,c,d){null!==d&&Jg(d);Bh(b,a.child,null,c);a=rj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction sj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Li(Error(p(422))),tj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=qj({mode:\"visible\",children:d.children},e,0,null);f=Ah(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Bh(b,a.child,null,g);b.child.memoizedState=oj(g);b.memoizedState=nj;return f}if(0===(b.mode&1))return tj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Li(f,d,void 0);return tj(a,b,g,d)}h=0!==(g&a.childLanes);if(Ug||h){d=R;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,Zg(a,e),mh(d,a,e,-1))}uj();d=Li(Error(p(421)));return tj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=vj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=rj(b,d.children);b.flags|=4096;return b}function wj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);Sg(a.return,b,c)}\nfunction xj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction yj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Yi(a,b,d.children,c);d=M.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&wj(a,c,b);else if(19===a.tag)wj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(M,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Mh(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);xj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Mh(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}xj(b,!0,c,null,f);break;case \"together\":xj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction jj(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function $i(a,b,c){null!==a&&(b.dependencies=a.dependencies);hh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=wh(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=wh(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction zj(a,b,c){switch(b.tag){case 3:lj(b);Ig();break;case 5:Kh(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:Ih(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Mg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(M,M.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return pj(a,b,c);G(M,M.current&1);a=$i(a,b,c);return null!==a?a.sibling:null}G(M,M.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return yj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(M,M.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,ej(a,b,c)}return $i(a,b,c)}var Aj,Bj,Cj,Dj;\nAj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Bj=function(){};\nCj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;Hh(Eh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Dj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Ej(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Fj(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;Jh();E(Wf);E(H);Oh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Gj(zg),zg=null));Bj(a,b);S(b);return null;case 5:Lh(b);var e=Hh(Gh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Cj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Dj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=Hh(Gh.current);Hh(Eh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(M);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Gj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(M.current&1)?0===T&&(T=3):uj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return Jh(),\nBj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return Rg(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(M);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Ej(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Mh(a);if(null!==g){b.flags|=128;Ej(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(M,M.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Hj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Yj=!1;break a;case 3:X=h.stateNode.containerInfo;Yj=!0;break a;case 4:X=h.stateNode.containerInfo;Yj=!0;break a}h=h.return}if(null===X)throw Error(p(160));ak(f,g,e);X=null;Yj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)ek(b,a),b=b.sibling}\nfunction ek(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:dk(b,a);fk(a);if(d&4){try{Qj(3,a,a.return),Rj(3,a)}catch(t){W(a,a.return,t)}try{Qj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);break;case 5:dk(b,a);fk(a);d&512&&null!==c&&Mj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:dk(b,a);fk(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:dk(b,a);fk(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:dk(b,a);fk(a);break;case 13:dk(b,a);fk(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(gk=B()));d&4&&bk(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,dk(b,a),U=l):dk(b,a);fk(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Qj(4,r,r.return);break;case 1:Mj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Mj(r,r.return);break;case 22:if(null!==r.memoizedState){hk(q);continue}}null!==y?(y.return=r,V=y):hk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:dk(b,a);fk(a);d&4&&bk(a);break;case 21:break;default:dk(b,\na),fk(a)}}function fk(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Uj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Vj(a);Xj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Vj(a);Wj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function ik(a,b,c){V=a;jk(a,b,c)}\nfunction jk(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Kj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Kj;var l=U;Kj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?kk(e):null!==k?(k.return=g,V=k):kk(e);for(;null!==f;)V=f,jk(f,b,c),f=f.sibling;V=e;Kj=h;U=l}lk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):lk(a,b,c)}}\nfunction lk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Rj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Lg(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&ih(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}ih(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Sj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function hk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction kk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Rj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Sj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Sj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar mk=Math.ceil,nk=ua.ReactCurrentDispatcher,ok=ua.ReactCurrentOwner,pk=ua.ReactCurrentBatchConfig,K=0,R=null,Y=null,Z=0,gj=0,fj=Uf(0),T=0,qk=null,hh=0,rk=0,sk=0,tk=null,uk=null,gk=0,Hj=Infinity,vk=null,Pi=!1,Qi=null,Si=null,wk=!1,xk=null,yk=0,zk=0,Ak=null,Bk=-1,Ck=0;function L(){return 0!==(K&6)?B():-1!==Bk?Bk:Bk=B()}\nfunction lh(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Ck&&(Ck=yc()),Ck;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function mh(a,b,c,d){if(50<zk)throw zk=0,Ak=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==R)a===R&&(0===(K&2)&&(rk|=c),4===T&&Dk(a,Z)),Ek(a,d),1===c&&0===K&&0===(b.mode&1)&&(Hj=B()+500,fg&&jg())}\nfunction Ek(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===R?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Fk.bind(null,a)):hg(Fk.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Gk(c,Hk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Hk(a,b){Bk=-1;Ck=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Ik()&&a.callbackNode!==c)return null;var d=uc(a,a===R?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Jk(a,d);else{b=d;var e=K;K|=2;var f=Kk();if(R!==a||Z!==b)vk=null,Hj=B()+500,Lk(a,b);do try{Mk();break}catch(h){Nk(a,h)}while(1);Qg();nk.current=f;K=e;null!==Y?b=0:(R=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Ok(a,e)));if(1===b)throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;if(6===b)Dk(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Pk(e)&&(b=Jk(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Ok(a,f))),1===b))throw c=qk,Lk(a,0),Dk(a,d),Ek(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Qk(a,uk,vk);break;case 3:Dk(a,d);if((d&130023424)===d&&(b=gk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){L();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),b);break}Qk(a,uk,vk);break;case 4:Dk(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Qk.bind(null,a,uk,vk),d);break}Qk(a,uk,vk);break;case 5:Qk(a,uk,vk);break;default:throw Error(p(329));}}}Ek(a,B());return a.callbackNode===c?Hk.bind(null,a):null}\nfunction Ok(a,b){var c=tk;a.current.memoizedState.isDehydrated&&(Lk(a,b).flags|=256);a=Jk(a,b);2!==a&&(b=uk,uk=c,null!==b&&Gj(b));return a}function Gj(a){null===uk?uk=a:uk.push.apply(uk,a)}\nfunction Pk(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Dk(a,b){b&=~sk;b&=~rk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Fk(a){if(0!==(K&6))throw Error(p(327));Ik();var b=uc(a,0);if(0===(b&1))return Ek(a,B()),null;var c=Jk(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Ok(a,d))}if(1===c)throw c=qk,Lk(a,0),Dk(a,b),Ek(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Qk(a,uk,vk);Ek(a,B());return null}\nfunction Rk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Hj=B()+500,fg&&jg())}}function Sk(a){null!==xk&&0===xk.tag&&0===(K&6)&&Ik();var b=K;K|=1;var c=pk.transition,d=C;try{if(pk.transition=null,C=1,a)return a()}finally{C=d,pk.transition=c,K=b,0===(K&6)&&jg()}}function Ij(){gj=fj.current;E(fj)}\nfunction Lk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:Jh();E(Wf);E(H);Oh();break;case 5:Lh(d);break;case 4:Jh();break;case 13:E(M);break;case 19:E(M);break;case 10:Rg(d.type._context);break;case 22:case 23:Ij()}c=c.return}R=a;Y=a=wh(a.current,null);Z=gj=b;T=0;qk=null;sk=rk=hh=0;uk=tk=null;if(null!==Wg){for(b=\n0;b<Wg.length;b++)if(c=Wg[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}Wg=null}return a}\nfunction Nk(a,b){do{var c=Y;try{Qg();Ph.current=ai;if(Sh){for(var d=N.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Sh=!1}Rh=0;P=O=N=null;Th=!1;Uh=0;ok.current=null;if(null===c||null===c.return){T=1;qk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Vi(g);if(null!==y){y.flags&=-257;Wi(y,g,h,f,b);y.mode&1&&Ti(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Ti(f,l,b);uj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Vi(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Wi(J,g,h,f,b);Jg(Ki(k,h));break a}}f=k=Ki(k,h);4!==T&&(T=2);null===tk?tk=[f]:tk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Oi(f,k,b);fh(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Si||!Si.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Ri(f,h,b);fh(f,F);break a}}f=f.return}while(null!==f)}Tk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Kk(){var a=nk.current;nk.current=ai;return null===a?ai:a}\nfunction uj(){if(0===T||3===T||2===T)T=4;null===R||0===(hh&268435455)&&0===(rk&268435455)||Dk(R,Z)}function Jk(a,b){var c=K;K|=2;var d=Kk();if(R!==a||Z!==b)vk=null,Lk(a,b);do try{Uk();break}catch(e){Nk(a,e)}while(1);Qg();K=c;nk.current=d;if(null!==Y)throw Error(p(261));R=null;Z=0;return T}function Uk(){for(;null!==Y;)Vk(Y)}function Mk(){for(;null!==Y&&!cc();)Vk(Y)}function Vk(a){var b=Wk(a.alternate,a,gj);a.memoizedProps=a.pendingProps;null===b?Tk(a):Y=b;ok.current=null}\nfunction Tk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Fj(c,b,gj),null!==c){Y=c;return}}else{c=Jj(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Qk(a,b,c){var d=C,e=pk.transition;try{pk.transition=null,C=1,Xk(a,b,c,d)}finally{pk.transition=e,C=d}return null}\nfunction Xk(a,b,c,d){do Ik();while(null!==xk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===R&&(Y=R=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||wk||(wk=!0,Gk(hc,function(){Ik();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=pk.transition;pk.transition=null;\nvar g=C;C=1;var h=K;K|=4;ok.current=null;Pj(a,c);ek(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;ik(c,a,e);dc();K=h;C=g;pk.transition=f}else a.current=c;wk&&(wk=!1,xk=a,yk=e);f=a.pendingLanes;0===f&&(Si=null);mc(c.stateNode,d);Ek(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Pi)throw Pi=!1,a=Qi,Qi=null,a;0!==(yk&1)&&0!==a.tag&&Ik();f=a.pendingLanes;0!==(f&1)?a===Ak?zk++:(zk=0,Ak=a):zk=0;jg();return null}\nfunction Ik(){if(null!==xk){var a=Dc(yk),b=pk.transition,c=C;try{pk.transition=null;C=16>a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Qj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Tj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Qj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Rj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,pk.transition=b}}return!1}function Yk(a,b,c){b=Ki(c,b);b=Oi(a,b,1);a=dh(a,b,1);b=L();null!==a&&(Ac(a,1,b),Ek(a,b))}\nfunction W(a,b,c){if(3===a.tag)Yk(a,a,c);else for(;null!==b;){if(3===b.tag){Yk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Si||!Si.has(d))){a=Ki(c,a);a=Ri(b,a,1);b=dh(b,a,1);a=L();null!==b&&(Ac(b,1,a),Ek(b,a));break}}b=b.return}}\nfunction Ui(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=L();a.pingedLanes|=a.suspendedLanes&c;R===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction el(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction fl(a,b,c,d,e,f,g,h,k){a=cl(c,d,!0,a,e,f,g,h,k);a.context=el(null);c=a.current;d=L();e=lh(c);f=ch(d,e);f.callback=void 0!==b&&null!==b?b:null;dh(c,f,e);a.current.lanes=e;Ac(a,e,d);Ek(a,d);return a}function gl(a,b,c,d){var e=b.current,f=L(),g=lh(e);c=el(c);null===b.context?b.context=c:b.pendingContext=c;b=ch(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=dh(e,b,g);null!==a&&(mh(a,e,g,f),eh(a,e,g));return g}\nfunction hl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function il(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function jl(a,b){il(a,b);(a=a.alternate)&&il(a,b)}function kl(){return null}var ll=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ml(a){this._internalRoot=a}\nnl.prototype.render=ml.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));gl(a,b,null,null)};nl.prototype.unmount=ml.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Sk(function(){gl(null,a,null,null)});b[uf]=null}};function nl(a){this._internalRoot=a}\nnl.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function pl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function ql(){}\nfunction rl(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=hl(g);f.call(a)}}var g=fl(b,d,a,0,null,!1,!1,\"\",ql);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Sk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=hl(k);h.call(a)}}var k=cl(a,0,!1,null,null,!1,!1,\"\",ql);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Sk(function(){gl(b,k,c,d)});return k}\nfunction sl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=hl(g);h.call(a)}}gl(b,g,a,e)}else g=rl(c,b,a,e,d);return hl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Ek(b,B()),0===(K&6)&&(Hj=B()+500,jg()))}break;case 13:Sk(function(){var b=Zg(a,1);if(null!==b){var c=L();mh(b,a,1,c)}}),jl(a,1)}};\nFc=function(a){if(13===a.tag){var b=Zg(a,134217728);if(null!==b){var c=L();mh(b,a,134217728,c)}jl(a,134217728)}};Gc=function(a){if(13===a.tag){var b=lh(a),c=Zg(a,b);if(null!==c){var d=L();mh(c,a,b,d)}jl(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Rk;Hb=Sk;\nvar tl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Rk]},ul={findFiberByHostInstance:Wc,bundleType:0,version:\"18.2.0\",rendererPackageName:\"react-dom\"};\nvar vl={bundleType:ul.bundleType,version:ul.version,rendererPackageName:ul.rendererPackageName,rendererConfig:ul.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:ul.findFiberByHostInstance||\nkl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.2.0-next-9e3b772b8-20220608\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var wl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!wl.isDisabled&&wl.supportsFiber)try{kc=wl.inject(vl),lc=wl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!ol(b))throw Error(p(200));return dl(a,b,null,c)};exports.createRoot=function(a,b){if(!ol(a))throw Error(p(299));var c=!1,d=\"\",e=ll;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=cl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ml(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Sk(a)};exports.hydrate=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!ol(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=ll;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=fl(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new nl(b)};exports.render=function(a,b,c){if(!pl(b))throw Error(p(200));return sl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!pl(a))throw Error(p(40));return a._reactRootContainer?(Sk(function(){sl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Rk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!pl(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return sl(a,b,c,!1,d)};exports.version=\"18.2.0-next-9e3b772b8-20220608\";\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports.ImageGallery=t(require(\"react\")):e.ImageGallery=t(e.React)}(this,(function(e){return(()=>{var t={703:(e,t,n)=>{\"use strict\";var i=n(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,a,s){if(s!==i){var o=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw o.name=\"Invariant Violation\",o}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},697:(e,t,n)=>{e.exports=n(703)()},414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},590:e=>{var t=\"undefined\"!=typeof Element,n=\"function\"==typeof Map,i=\"function\"==typeof Set,r=\"function\"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function a(e,s){if(e===s)return!0;if(e&&s&&\"object\"==typeof e&&\"object\"==typeof s){if(e.constructor!==s.constructor)return!1;var o,l,u,c;if(Array.isArray(e)){if((o=e.length)!=s.length)return!1;for(l=o;0!=l--;)if(!a(e[l],s[l]))return!1;return!0}if(n&&e instanceof Map&&s instanceof Map){if(e.size!==s.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!s.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!a(l.value[1],s.get(l.value[0])))return!1;return!0}if(i&&e instanceof Set&&s instanceof Set){if(e.size!==s.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!s.has(l.value[0]))return!1;return!0}if(r&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(s)){if((o=e.length)!=s.length)return!1;for(l=o;0!=l--;)if(e[l]!==s[l])return!1;return!0}if(e.constructor===RegExp)return e.source===s.source&&e.flags===s.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===s.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===s.toString();if((o=(u=Object.keys(e)).length)!==Object.keys(s).length)return!1;for(l=o;0!=l--;)if(!Object.prototype.hasOwnProperty.call(s,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=o;0!=l--;)if((\"_owner\"!==u[l]&&\"__v\"!==u[l]&&\"__o\"!==u[l]||!e.$$typeof)&&!a(e[u[l]],s[u[l]]))return!1;return!0}return e!=e&&s!=s}e.exports=function(e,t){try{return a(e,t)}catch(e){if((e.message||\"\").match(/stack|recursion/i))return console.warn(\"react-fast-compare cannot handle circular refs\"),!1;throw e}}},37:function(e,t,n){!function(e,t){function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var i=\"Left\",r=\"Right\",a=\"Down\",s={delta:10,preventDefaultTouchmoveEvent:!1,rotationAngle:0,trackMouse:!1,trackTouch:!0},o={first:!0,initial:[0,0],start:0,swiping:!1,xy:[0,0]},l=\"mousemove\",u=\"mouseup\";function c(e,t){if(0===t)return e;var n=Math.PI/180*t;return[e[0]*Math.cos(n)+e[1]*Math.sin(n),e[1]*Math.cos(n)-e[0]*Math.sin(n)]}function h(e,t){var s=function(t){t&&\"touches\"in t&&t.touches.length>1||e((function(e,i){i.trackMouse&&(document.addEventListener(l,h),document.addEventListener(u,f));var r=\"touches\"in t?t.touches[0]:t,a=c([r.clientX,r.clientY],i.rotationAngle);return n({},e,o,{initial:[].concat(a),xy:a,start:t.timeStamp||0})}))},h=function(t){e((function(e,s){if(\"touches\"in t&&t.touches.length>1)return e;var o=\"touches\"in t?t.touches[0]:t,l=c([o.clientX,o.clientY],s.rotationAngle),u=l[0],h=l[1],d=u-e.xy[0],f=h-e.xy[1],p=Math.abs(d),m=Math.abs(f),v=(t.timeStamp||0)-e.start,g=Math.sqrt(p*p+m*m)/(v||1),b=[d/(v||1),f/(v||1)];if(p<s.delta&&m<s.delta&&!e.swiping)return e;var y=function(e,t,n,s){return e>t?n>0?r:i:s>0?a:\"Up\"}(p,m,d,f),w={absX:p,absY:m,deltaX:d,deltaY:f,dir:y,event:t,first:e.first,initial:e.initial,velocity:g,vxvy:b};s.onSwiping&&s.onSwiping(w);var T=!1;return(s.onSwiping||s.onSwiped||\"onSwiped\"+y in s)&&(T=!0),T&&s.preventDefaultTouchmoveEvent&&s.trackTouch&&t.cancelable&&t.preventDefault(),n({},e,{first:!1,eventData:w,swiping:!0})}))},d=function(t){e((function(e,i){var r;if(e.swiping&&e.eventData){r=n({},e.eventData,{event:t}),i.onSwiped&&i.onSwiped(r);var a=\"onSwiped\"+r.dir;a in i&&i[a](r)}else i.onTap&&i.onTap({event:t});return n({},e,o,{eventData:r})}))},f=function(e){document.removeEventListener(l,h),document.removeEventListener(u,f),d(e)},p=function(e,t){var n=function(){};if(e&&e.addEventListener){var i=[[\"touchstart\",s],[\"touchmove\",h],[\"touchend\",d]];i.forEach((function(n){var i=n[0],r=n[1];return e.addEventListener(i,r,{passive:t})})),n=function(){return i.forEach((function(t){var n=t[0],i=t[1];return e.removeEventListener(n,i)}))}}return n},m={ref:function(t){null!==t&&e((function(e,i){if(e.el===t)return e;var r={};return e.el&&e.el!==t&&e.cleanUpTouch&&(e.cleanUpTouch(),r.cleanUpTouch=void 0),i.trackTouch&&t&&(r.cleanUpTouch=p(t,!i.preventDefaultTouchmoveEvent)),n({},e,{el:t},r)}))}};return t.trackMouse&&(m.onMouseDown=s),[m,p]}e.DOWN=a,e.LEFT=i,e.RIGHT=r,e.UP=\"Up\",e.useSwipeable=function(e){var i=e.trackMouse,r=t.useRef(n({},o)),a=t.useRef(n({},s));a.current=n({},s,e);var l=t.useMemo((function(){return h((function(e){return r.current=e(r.current,a.current)}),{trackMouse:i})}),[i]),u=l[0],c=l[1];return r.current=function(e,t,i){var r={};return!t.trackTouch&&e.cleanUpTouch?(e.cleanUpTouch(),r.cleanUpTouch=void 0):t.trackTouch&&!e.cleanUpTouch&&e.el&&(r.cleanUpTouch=i(e.el,!t.preventDefaultTouchmoveEvent)),n({},e,r)}(r.current,a.current,c),u}}(t,n(888))},888:t=>{\"use strict\";t.exports=e}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e].call(a.exports,a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var r={};return(()=>{\"use strict\";function e(t){var n,i,r=\"\";if(\"string\"==typeof t||\"number\"==typeof t)r+=t;else if(\"object\"==typeof t)if(Array.isArray(t))for(n=0;n<t.length;n++)t[n]&&(i=e(t[n]))&&(r&&(r+=\" \"),r+=i);else for(n in t)t[n]&&(r&&(r+=\" \"),r+=n);return r}function t(){for(var t,n,i=0,r=\"\";i<arguments.length;)(t=arguments[i++])&&(n=e(t))&&(r&&(r+=\" \"),r+=n);return r}i.r(r),i.d(r,{default:()=>Pe});var n=i(888),a=i.n(n);const s=function(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)},o=\"object\"==typeof global&&global&&global.Object===Object&&global;var l=\"object\"==typeof self&&self&&self.Object===Object&&self;const u=o||l||Function(\"return this\")(),c=function(){return u.Date.now()};var h=/\\s/;var d=/^\\s+/;const f=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&h.test(e.charAt(t)););return t}(e)+1).replace(d,\"\"):e},p=u.Symbol;var m=Object.prototype,v=m.hasOwnProperty,g=m.toString,b=p?p.toStringTag:void 0;var y=Object.prototype.toString;var w=p?p.toStringTag:void 0;const T=function(e){return null==e?void 0===e?\"[object Undefined]\":\"[object Null]\":w&&w in Object(e)?function(e){var t=v.call(e,b),n=e[b];try{e[b]=void 0;var i=!0}catch(e){}var r=g.call(e);return i&&(t?e[b]=n:delete e[b]),r}(e):function(e){return y.call(e)}(e)};var S=/^[-+]0x[0-9a-f]+$/i,O=/^0b[01]+$/i,E=/^0o[0-7]+$/i,k=parseInt;const I=function(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return null!=e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==T(e)}(e))return NaN;if(s(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=s(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=f(e);var n=O.test(e);return n||E.test(e)?k(e.slice(2),n?2:8):S.test(e)?NaN:+e};var x=Math.max,_=Math.min;const R=function(e,t,n){var i,r,a,o,l,u,h=0,d=!1,f=!1,p=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function m(t){var n=i,a=r;return i=r=void 0,h=t,o=e.apply(a,n)}function v(e){return h=e,l=setTimeout(b,t),d?m(e):o}function g(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-h>=a}function b(){var e=c();if(g(e))return y(e);l=setTimeout(b,function(e){var n=t-(e-u);return f?_(n,a-(e-h)):n}(e))}function y(e){return l=void 0,p&&i?m(e):(i=r=void 0,o)}function w(){var e=c(),n=g(e);if(i=arguments,r=this,u=e,n){if(void 0===l)return v(u);if(f)return clearTimeout(l),l=setTimeout(b,t),m(u)}return void 0===l&&(l=setTimeout(b,t)),o}return t=I(t)||0,s(n)&&(d=!!n.leading,a=(f=\"maxWait\"in n)?x(I(n.maxWait)||0,t):a,p=\"trailing\"in n?!!n.trailing:p),w.cancel=function(){void 0!==l&&clearTimeout(l),h=0,i=u=r=l=void 0},w.flush=function(){return void 0===l?o:y(c())},w},L=function(e,t,n){var i=!0,r=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");return s(n)&&(i=\"leading\"in n?!!n.leading:i,r=\"trailing\"in n?!!n.trailing:r),R(e,t,{leading:i,maxWait:t,trailing:r})};var P=i(590),M=i.n(P),W=function(){if(\"undefined\"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(n=i,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,\"size\",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n<i.length;n++){var r=i[n];e.call(t,r[1],r[0])}},t}()}(),D=\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&window.document===document,F=void 0!==i.g&&i.g.Math===Math?i.g:\"undefined\"!=typeof self&&self.Math===Math?self:\"undefined\"!=typeof window&&window.Math===Math?window:Function(\"return this\")(),C=\"function\"==typeof requestAnimationFrame?requestAnimationFrame.bind(F):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},z=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\",\"size\",\"weight\"],N=\"undefined\"!=typeof MutationObserver,j=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e,t){var n=!1,i=!1,r=0;function a(){n&&(n=!1,e()),i&&o()}function s(){C(a)}function o(){var e=Date.now();if(n){if(e-r<2)return;i=!0}else n=!0,i=!1,setTimeout(s,20);r=e}return o}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){D&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),N?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){D&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?\"\":t;z.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),B=function(e,t){for(var n=0,i=Object.keys(t);n<i.length;n++){var r=i[n];Object.defineProperty(e,r,{value:t[r],enumerable:!1,writable:!1,configurable:!0})}return e},A=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||F},G=V(0,0,0,0);function U(e){return parseFloat(e)||0}function H(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){return t+U(e[\"border-\"+n+\"-width\"])}),0)}var q=\"undefined\"!=typeof SVGGraphicsElement?function(e){return e instanceof A(e).SVGGraphicsElement}:function(e){return e instanceof A(e).SVGElement&&\"function\"==typeof e.getBBox};function K(e){return D?q(e)?function(e){var t=e.getBBox();return V(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return G;var i=A(e).getComputedStyle(e),r=function(e){for(var t={},n=0,i=[\"top\",\"right\",\"bottom\",\"left\"];n<i.length;n++){var r=i[n],a=e[\"padding-\"+r];t[r]=U(a)}return t}(i),a=r.left+r.right,s=r.top+r.bottom,o=U(i.width),l=U(i.height);if(\"border-box\"===i.boxSizing&&(Math.round(o+a)!==t&&(o-=H(i,\"left\",\"right\")+a),Math.round(l+s)!==n&&(l-=H(i,\"top\",\"bottom\")+s)),!function(e){return e===A(e).document.documentElement}(e)){var u=Math.round(o+a)-t,c=Math.round(l+s)-n;1!==Math.abs(u)&&(o-=u),1!==Math.abs(c)&&(l-=c)}return V(r.left,r.top,o,l)}(e):G}function V(e,t,n,i){return{x:e,y:t,width:n,height:i}}var X=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=V(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=K(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),Y=function(e,t){var n,i,r,a,s,o,l,u=(i=(n=t).x,r=n.y,a=n.width,s=n.height,o=\"undefined\"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,l=Object.create(o.prototype),B(l,{x:i,y:r,width:a,height:s,top:r,right:i+a,bottom:s+r,left:i}),l);B(this,{target:e,contentRect:u})},$=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new W,\"function\"!=typeof e)throw new TypeError(\"The callback provided as parameter 1 is not a function.\");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(e instanceof A(e).Element))throw new TypeError('parameter 1 is not of type \"Element\".');var t=this.observations_;t.has(e)||(t.set(e,new X(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(e instanceof A(e).Element))throw new TypeError('parameter 1 is not of type \"Element\".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new Y(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),J=\"undefined\"!=typeof WeakMap?new WeakMap:new W,Q=function e(t){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function.\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var n=j.getInstance(),i=new $(t,n,this);J.set(this,i)};[\"observe\",\"unobserve\",\"disconnect\"].forEach((function(e){Q.prototype[e]=function(){var t;return(t=J.get(this))[e].apply(t,arguments)}}));const Z=void 0!==F.ResizeObserver?F.ResizeObserver:Q;var ee=i(37),te=i(697),ne=a().memo((function(e){var t=e.description,n=e.fullscreen,i=e.handleImageLoaded,r=e.isFullscreen,s=e.onImageError,o=e.original,l=e.originalAlt,u=e.originalHeight,c=e.originalWidth,h=e.originalTitle,d=e.sizes,f=e.srcSet,p=e.loading,m=r&&n||o;return a().createElement(a().Fragment,null,a().createElement(\"img\",{className:\"image-gallery-image\",src:m,alt:l,srcSet:f,height:u,width:c,sizes:d,title:h,onLoad:function(e){return i(e,o)},onError:s,loading:p}),t&&a().createElement(\"span\",{className:\"image-gallery-description\"},t))}));ne.displayName=\"Item\",ne.propTypes={description:te.string,fullscreen:te.string,handleImageLoaded:te.func.isRequired,isFullscreen:te.bool,onImageError:te.func.isRequired,original:te.string.isRequired,originalAlt:te.string,originalHeight:te.string,originalWidth:te.string,originalTitle:te.string,sizes:te.string,srcSet:te.string,loading:te.string},ne.defaultProps={description:\"\",fullscreen:\"\",isFullscreen:!1,originalAlt:\"\",originalHeight:\"\",originalWidth:\"\",originalTitle:\"\",sizes:\"\",srcSet:\"\",loading:\"eager\"};const ie=ne;var re={left:a().createElement(\"polyline\",{points:\"15 18 9 12 15 6\"}),right:a().createElement(\"polyline\",{points:\"9 18 15 12 9 6\"}),maximize:a().createElement(\"path\",{d:\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"}),minimize:a().createElement(\"path\",{d:\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"}),play:a().createElement(\"polygon\",{points:\"5 3 19 12 5 21 5 3\"}),pause:a().createElement(a().Fragment,null,a().createElement(\"rect\",{x:\"6\",y:\"4\",width:\"4\",height:\"16\"}),a().createElement(\"rect\",{x:\"14\",y:\"4\",width:\"4\",height:\"16\"}))},ae=function(e){var t=e.strokeWidth,n=e.viewBox,i=e.icon;return a().createElement(\"svg\",{className:\"image-gallery-svg\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:n,fill:\"none\",stroke:\"currentColor\",strokeWidth:t,strokeLinecap:\"round\",strokeLinejoin:\"round\"},re[i])};ae.propTypes={strokeWidth:te.number,viewBox:te.string,icon:(0,te.oneOf)([\"left\",\"right\",\"maximize\",\"minimize\",\"play\",\"pause\"]).isRequired},ae.defaultProps={strokeWidth:1,viewBox:\"0 0 24 24\"};const se=ae;var oe=a().memo((function(e){var t=e.isFullscreen,n=e.onClick;return a().createElement(\"button\",{type:\"button\",className:\"image-gallery-icon image-gallery-fullscreen-button\",onClick:n,\"aria-label\":\"Open Fullscreen\"},a().createElement(se,{strokeWidth:2,icon:t?\"minimize\":\"maximize\"}))}));oe.displayName=\"Fullscreen\",oe.propTypes={isFullscreen:te.bool.isRequired,onClick:te.func.isRequired};const le=oe;var ue=a().memo((function(e){var t=e.disabled,n=e.onClick;return a().createElement(\"button\",{type:\"button\",className:\"image-gallery-icon image-gallery-left-nav\",disabled:t,onClick:n,\"aria-label\":\"Previous Slide\"},a().createElement(se,{icon:\"left\",viewBox:\"6 0 12 24\"}))}));ue.displayName=\"LeftNav\",ue.propTypes={disabled:te.bool.isRequired,onClick:te.func.isRequired};const ce=ue;var he=a().memo((function(e){var t=e.disabled,n=e.onClick;return a().createElement(\"button\",{type:\"button\",className:\"image-gallery-icon image-gallery-right-nav\",disabled:t,onClick:n,\"aria-label\":\"Next Slide\"},a().createElement(se,{icon:\"right\",viewBox:\"6 0 12 24\"}))}));he.displayName=\"RightNav\",he.propTypes={disabled:te.bool.isRequired,onClick:te.func.isRequired};const de=he;var fe=a().memo((function(e){var t=e.isPlaying,n=e.onClick;return a().createElement(\"button\",{type:\"button\",className:\"image-gallery-icon image-gallery-play-button\",onClick:n,\"aria-label\":\"Play or Pause Slideshow\"},a().createElement(se,{strokeWidth:2,icon:t?\"pause\":\"play\"}))}));fe.displayName=\"PlayPause\",fe.propTypes={isPlaying:te.bool.isRequired,onClick:te.func.isRequired};const pe=fe;function me(){return(me=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var ve=function(e){var t=e.children,n=e.className,i=e.delta,r=e.onSwiping,s=e.onSwiped,o=(0,ee.useSwipeable)({delta:i,onSwiping:r,onSwiped:s});return a().createElement(\"div\",me({},o,{className:n}),t)};ve.propTypes={children:te.node.isRequired,className:te.string,delta:te.number,onSwiped:te.func,onSwiping:te.func},ve.defaultProps={className:\"\",delta:0,onSwiping:function(){},onSwiped:function(){}};const ge=ve;function be(e){return(be=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function ye(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function we(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ye(Object(n),!0).forEach((function(t){Te(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ye(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Te(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Se(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function Oe(e,t){return(Oe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ee(e,t){return!t||\"object\"!==be(t)&&\"function\"!=typeof t?ke(e):t}function ke(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function Ie(e){return(Ie=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var xe=[\"fullscreenchange\",\"MSFullscreenChange\",\"mozfullscreenchange\",\"webkitfullscreenchange\"],_e=(0,te.arrayOf)((0,te.shape)({srcSet:te.string,media:te.string}));function Re(e){var t=parseInt(e.keyCode||e.which||0,10);return 66===t||62===t}var Le=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Oe(e,t)}(l,e);var n,i,r,s,o=(r=l,s=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=Ie(r);if(s){var n=Ie(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return Ee(this,e)});function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,l),(t=o.call(this,e)).state={currentIndex:e.startIndex,thumbsTranslate:0,thumbsSwipedTranslate:0,currentSlideOffset:0,galleryWidth:0,thumbnailsWrapperWidth:0,thumbnailsWrapperHeight:0,thumbsStyle:{transition:\"all \".concat(e.slideDuration,\"ms ease-out\")},isFullscreen:!1,isSwipingThumbnail:!1,isPlaying:!1},t.loadedImages={},t.imageGallery=a().createRef(),t.thumbnailsWrapper=a().createRef(),t.thumbnails=a().createRef(),t.imageGallerySlideWrapper=a().createRef(),t.handleImageLoaded=t.handleImageLoaded.bind(ke(t)),t.handleKeyDown=t.handleKeyDown.bind(ke(t)),t.handleMouseDown=t.handleMouseDown.bind(ke(t)),t.handleResize=t.handleResize.bind(ke(t)),t.handleTouchMove=t.handleTouchMove.bind(ke(t)),t.handleOnSwiped=t.handleOnSwiped.bind(ke(t)),t.handleScreenChange=t.handleScreenChange.bind(ke(t)),t.handleSwiping=t.handleSwiping.bind(ke(t)),t.handleThumbnailSwiping=t.handleThumbnailSwiping.bind(ke(t)),t.handleOnThumbnailSwiped=t.handleOnThumbnailSwiped.bind(ke(t)),t.onThumbnailMouseLeave=t.onThumbnailMouseLeave.bind(ke(t)),t.handleImageError=t.handleImageError.bind(ke(t)),t.pauseOrPlay=t.pauseOrPlay.bind(ke(t)),t.renderThumbInner=t.renderThumbInner.bind(ke(t)),t.renderItem=t.renderItem.bind(ke(t)),t.slideLeft=t.slideLeft.bind(ke(t)),t.slideRight=t.slideRight.bind(ke(t)),t.toggleFullScreen=t.toggleFullScreen.bind(ke(t)),t.togglePlay=t.togglePlay.bind(ke(t)),t.unthrottledSlideToIndex=t.slideToIndex,t.slideToIndex=L(t.unthrottledSlideToIndex,e.slideDuration,{trailing:!1}),e.lazyLoad&&(t.lazyLoaded=[]),t}return n=l,(i=[{key:\"componentDidMount\",value:function(){var e=this.props,t=e.autoPlay,n=e.useWindowKeyDown;t&&this.play(),n?window.addEventListener(\"keydown\",this.handleKeyDown):this.imageGallery.current.addEventListener(\"keydown\",this.handleKeyDown),window.addEventListener(\"mousedown\",this.handleMouseDown),window.addEventListener(\"touchmove\",this.handleTouchMove,{passive:!1}),this.initSlideWrapperResizeObserver(this.imageGallerySlideWrapper),this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper),this.addScreenChangeEvent()}},{key:\"componentDidUpdate\",value:function(e,t){var n=this.props,i=n.items,r=n.lazyLoad,a=n.slideDuration,s=n.slideInterval,o=n.startIndex,l=n.thumbnailPosition,u=n.showThumbnails,c=n.useWindowKeyDown,h=this.state,d=h.currentIndex,f=h.isPlaying,p=e.items.length!==i.length,m=!M()(e.items,i),v=e.startIndex!==o,g=e.thumbnailPosition!==l,b=e.showThumbnails!==u;s===e.slideInterval&&a===e.slideDuration||f&&(this.pause(),this.play()),g&&(this.removeResizeObserver(),this.initSlideWrapperResizeObserver(this.imageGallerySlideWrapper),this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper)),b&&u&&this.initThumbnailWrapperResizeObserver(this.thumbnailsWrapper),b&&!u&&this.removeThumbnailsResizeObserver(),(p||b)&&this.handleResize(),t.currentIndex!==d&&this.slideThumbnailBar(),e.slideDuration!==a&&(this.slideToIndex=L(this.unthrottledSlideToIndex,a,{trailing:!1})),!r||e.lazyLoad&&!m||(this.lazyLoaded=[]),c!==e.useWindowKeyDown&&(c?(this.imageGallery.current.removeEventListener(\"keydown\",this.handleKeyDown),window.addEventListener(\"keydown\",this.handleKeyDown)):(window.removeEventListener(\"keydown\",this.handleKeyDown),this.imageGallery.current.addEventListener(\"keydown\",this.handleKeyDown))),(v||m)&&this.setState({currentIndex:o,slideStyle:{transition:\"none\"}})}},{key:\"componentWillUnmount\",value:function(){var e=this.props.useWindowKeyDown;window.removeEventListener(\"mousedown\",this.handleMouseDown),window.removeEventListener(\"touchmove\",this.handleTouchMove),this.removeScreenChangeEvent(),this.removeResizeObserver(),this.playPauseIntervalId&&(window.clearInterval(this.playPauseIntervalId),this.playPauseIntervalId=null),this.transitionTimer&&window.clearTimeout(this.transitionTimer),e?window.removeEventListener(\"keydown\",this.handleKeyDown):this.imageGallery.current.removeEventListener(\"keydown\",this.handleKeyDown)}},{key:\"onSliding\",value:function(){var e=this,t=this.state,n=t.currentIndex,i=t.isTransitioning,r=this.props,a=r.onSlide,s=r.slideDuration;this.transitionTimer=window.setTimeout((function(){i&&(e.setState({isTransitioning:!i,isSwipingThumbnail:!1}),a&&a(n))}),s+50)}},{key:\"onThumbnailClick\",value:function(e,t){var n=this.props.onThumbnailClick;e.target.parentNode.parentNode.blur(),this.slideToIndex(t,e),n&&n(e,t)}},{key:\"onThumbnailMouseOver\",value:function(e,t){var n=this;this.thumbnailMouseOverTimer&&(window.clearTimeout(this.thumbnailMouseOverTimer),this.thumbnailMouseOverTimer=null),this.thumbnailMouseOverTimer=window.setTimeout((function(){n.slideToIndex(t),n.pause()}),300)}},{key:\"onThumbnailMouseLeave\",value:function(){if(this.thumbnailMouseOverTimer){var e=this.props.autoPlay;window.clearTimeout(this.thumbnailMouseOverTimer),this.thumbnailMouseOverTimer=null,e&&this.play()}}},{key:\"setThumbsTranslate\",value:function(e){this.setState({thumbsTranslate:e})}},{key:\"setModalFullscreen\",value:function(e){var t=this.props.onScreenChange;this.setState({modalFullscreen:e}),t&&t(e)}},{key:\"getThumbsTranslate\",value:function(e){var t,n=this.props,i=n.disableThumbnailScroll,r=n.items,a=this.state,s=a.thumbnailsWrapperWidth,o=a.thumbnailsWrapperHeight,l=this.thumbnails&&this.thumbnails.current;if(i)return 0;if(l){if(this.isThumbnailVertical()){if(l.scrollHeight<=o)return 0;t=l.scrollHeight-o}else{if(l.scrollWidth<=s||s<=0)return 0;t=l.scrollWidth-s}return e*(t/(r.length-1))}return 0}},{key:\"getAlignmentClassName\",value:function(e){var t=this.state.currentIndex,n=this.props,i=n.infinite,r=n.items,a=\"\",s=\"left\",o=\"right\";switch(e){case t-1:a=\" \".concat(s);break;case t:a=\" \".concat(\"center\");break;case t+1:a=\" \".concat(o)}return r.length>=3&&i&&(0===e&&t===r.length-1?a=\" \".concat(o):e===r.length-1&&0===t&&(a=\" \".concat(s))),a}},{key:\"getTranslateXForTwoSlide\",value:function(e){var t=this.state,n=t.currentIndex,i=t.currentSlideOffset,r=t.previousIndex,a=n!==r,s=0===e&&0===r,o=1===e&&1===r,l=0===e&&1===n,u=1===e&&0===n,c=0===i,h=-100*n+100*e+i;return i>0?this.direction=\"left\":i<0&&(this.direction=\"right\"),u&&i>0&&(h=-100+i),l&&i<0&&(h=100+i),a?s&&c&&\"left\"===this.direction?h=100:o&&c&&\"right\"===this.direction&&(h=-100):(u&&c&&\"left\"===this.direction&&(h=-100),l&&c&&\"right\"===this.direction&&(h=100)),h}},{key:\"getThumbnailBarHeight\",value:function(){return this.isThumbnailVertical()?{height:this.state.gallerySlideWrapperHeight}:{}}},{key:\"getSlideStyle\",value:function(e){var t=this.state,n=t.currentIndex,i=t.currentSlideOffset,r=t.slideStyle,a=this.props,s=a.infinite,o=a.items,l=a.useTranslate3D,u=a.isRTL,c=-100*n,h=o.length-1,d=(c+100*e)*(u?-1:1)+i;s&&o.length>2&&(0===n&&e===h?d=-100*(u?-1:1)+i:n===h&&0===e&&(d=100*(u?-1:1)+i)),s&&2===o.length&&(d=this.getTranslateXForTwoSlide(e));var f=\"translate(\".concat(d,\"%, 0)\");return l&&(f=\"translate3d(\".concat(d,\"%, 0, 0)\")),we({display:this.isSlideVisible(e)?\"inherit\":\"none\",WebkitTransform:f,MozTransform:f,msTransform:f,OTransform:f,transform:f},r)}},{key:\"getCurrentIndex\",value:function(){return this.state.currentIndex}},{key:\"getThumbnailStyle\",value:function(){var e,t=this.props,n=t.useTranslate3D,i=t.isRTL,r=this.state,a=r.thumbsTranslate,s=r.thumbsStyle,o=i?-1*a:a;return this.isThumbnailVertical()?(e=\"translate(0, \".concat(a,\"px)\"),n&&(e=\"translate3d(0, \".concat(a,\"px, 0)\"))):(e=\"translate(\".concat(o,\"px, 0)\"),n&&(e=\"translate3d(\".concat(o,\"px, 0, 0)\"))),we({WebkitTransform:e,MozTransform:e,msTransform:e,OTransform:e,transform:e},s)}},{key:\"getSlideItems\",value:function(){var e=this,n=this.state.currentIndex,i=this.props,r=i.items,s=i.slideOnThumbnailOver,o=i.onClick,l=i.lazyLoad,u=i.onTouchMove,c=i.onTouchEnd,h=i.onTouchStart,d=i.onMouseOver,f=i.onMouseLeave,p=i.renderItem,m=i.renderThumbInner,v=i.showThumbnails,g=i.showBullets,b=[],y=[],w=[];return r.forEach((function(i,r){var T=e.getAlignmentClassName(r),S=i.originalClass?\" \".concat(i.originalClass):\"\",O=i.thumbnailClass?\" \".concat(i.thumbnailClass):\"\",E=i.renderItem||p||e.renderItem,k=i.renderThumbInner||m||e.renderThumbInner,I=!l||T||e.lazyLoaded[r];I&&l&&!e.lazyLoaded[r]&&(e.lazyLoaded[r]=!0);var x=e.getSlideStyle(r),_=a().createElement(\"div\",{\"aria-label\":\"Go to Slide \".concat(r+1),key:\"slide-\".concat(r),tabIndex:\"-1\",className:\"image-gallery-slide \".concat(T,\" \").concat(S),style:x,onClick:o,onKeyUp:e.handleSlideKeyUp,onTouchMove:u,onTouchEnd:c,onTouchStart:h,onMouseOver:d,onFocus:d,onMouseLeave:f,role:\"button\"},I?E(i):a().createElement(\"div\",{style:{height:\"100%\"}}));if(b.push(_),v&&i.thumbnail){var R=t(\"image-gallery-thumbnail\",O,{active:n===r});y.push(a().createElement(\"button\",{key:\"thumbnail-\".concat(r),type:\"button\",tabIndex:\"0\",\"aria-pressed\":n===r?\"true\":\"false\",\"aria-label\":\"Go to Slide \".concat(r+1),className:R,onMouseLeave:s?e.onThumbnailMouseLeave:null,onMouseOver:function(t){return e.handleThumbnailMouseOver(t,r)},onFocus:function(t){return e.handleThumbnailMouseOver(t,r)},onKeyUp:function(t){return e.handleThumbnailKeyUp(t,r)},onClick:function(t){return e.onThumbnailClick(t,r)}},k(i)))}if(g){var L=t(\"image-gallery-bullet\",i.bulletClass,{active:n===r});w.push(a().createElement(\"button\",{type:\"button\",key:\"bullet-\".concat(r),className:L,onClick:function(t){return i.bulletOnClick&&i.bulletOnClick({item:i,itemIndex:r,currentIndex:n}),t.target.blur(),e.slideToIndex.call(e,r,t)},\"aria-pressed\":n===r?\"true\":\"false\",\"aria-label\":\"Go to Slide \".concat(r+1)}))}})),{slides:b,thumbnails:y,bullets:w}}},{key:\"ignoreIsTransitioning\",value:function(){var e=this.props.items,t=this.state,n=t.previousIndex,i=t.currentIndex,r=e.length-1;return Math.abs(n-i)>1&&!(0===n&&i===r)&&!(n===r&&0===i)}},{key:\"isFirstOrLastSlide\",value:function(e){return e===this.props.items.length-1||0===e}},{key:\"slideIsTransitioning\",value:function(e){var t=this.state,n=t.isTransitioning,i=t.previousIndex,r=t.currentIndex;return n&&!(e===i||e===r)}},{key:\"isSlideVisible\",value:function(e){return!this.slideIsTransitioning(e)||this.ignoreIsTransitioning()&&!this.isFirstOrLastSlide(e)}},{key:\"slideThumbnailBar\",value:function(){var e=this.state,t=e.currentIndex,n=e.isSwipingThumbnail,i=-this.getThumbsTranslate(t);n||(0===t?this.setState({thumbsTranslate:0,thumbsSwipedTranslate:0}):this.setState({thumbsTranslate:i,thumbsSwipedTranslate:i}))}},{key:\"canSlide\",value:function(){return this.props.items.length>=2}},{key:\"canSlideLeft\",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlideNext():this.canSlidePrevious())}},{key:\"canSlideRight\",value:function(){var e=this.props,t=e.infinite,n=e.isRTL;return t||(n?this.canSlidePrevious():this.canSlideNext())}},{key:\"canSlidePrevious\",value:function(){return this.state.currentIndex>0}},{key:\"canSlideNext\",value:function(){return this.state.currentIndex<this.props.items.length-1}},{key:\"handleSwiping\",value:function(e){var t=e.event,n=e.absX,i=e.dir,r=this.props,a=r.disableSwipe,s=r.stopPropagation,o=this.state,l=o.galleryWidth,u=o.isTransitioning,c=o.swipingUpDown,h=o.swipingLeftRight;if(i!==ee.UP&&i!==ee.DOWN&&!c||h){if(i!==ee.LEFT&&i!==ee.RIGHT||h||this.setState({swipingLeftRight:!0}),!a){var d=this.props.swipingTransitionDuration;if(s&&t.preventDefault(),u)this.setState({currentSlideOffset:0});else{var f=i===ee.RIGHT?1:-1,p=n/l*100;Math.abs(p)>=100&&(p=100);var m={transition:\"transform \".concat(d,\"ms ease-out\")};this.setState({currentSlideOffset:f*p,slideStyle:m})}}}else c||this.setState({swipingUpDown:!0})}},{key:\"handleThumbnailSwiping\",value:function(e){var t=e.event,n=e.absX,i=e.absY,r=e.dir,a=this.props,s=a.stopPropagation,o=a.swipingThumbnailTransitionDuration,l=this.state,u=l.thumbsSwipedTranslate,c=l.thumbnailsWrapperHeight,h=l.thumbnailsWrapperWidth,d=l.swipingUpDown,f=l.swipingLeftRight;if(this.isThumbnailVertical()){if((r===ee.LEFT||r===ee.RIGHT||f)&&!d)return void(f||this.setState({swipingLeftRight:!0}));r!==ee.UP&&r!==ee.DOWN||d||this.setState({swipingUpDown:!0})}else{if((r===ee.UP||r===ee.DOWN||d)&&!f)return void(d||this.setState({swipingUpDown:!0}));r!==ee.LEFT&&r!==ee.RIGHT||f||this.setState({swipingLeftRight:!0})}var p,m,v,g,b,y=this.thumbnails&&this.thumbnails.current;if(this.isThumbnailVertical()?(p=u+(r===ee.DOWN?i:-i),m=y.scrollHeight-c+20,v=Math.abs(p)>m,g=p>20,b=y.scrollHeight<=c):(p=u+(r===ee.RIGHT?n:-n),m=y.scrollWidth-h+20,v=Math.abs(p)>m,g=p>20,b=y.scrollWidth<=h),!b&&(r!==ee.LEFT&&r!==ee.UP||!v)&&(r!==ee.RIGHT&&r!==ee.DOWN||!g)){s&&t.stopPropagation();var w={transition:\"transform \".concat(o,\"ms ease-out\")};this.setState({thumbsTranslate:p,thumbsStyle:w})}}},{key:\"handleOnThumbnailSwiped\",value:function(){var e=this.state.thumbsTranslate,t=this.props.slideDuration;this.resetSwipingDirection(),this.setState({isSwipingThumbnail:!0,thumbsSwipedTranslate:e,thumbsStyle:{transition:\"all \".concat(t,\"ms ease-out\")}})}},{key:\"sufficientSwipe\",value:function(){var e=this.state.currentSlideOffset,t=this.props.swipeThreshold;return Math.abs(e)>t}},{key:\"resetSwipingDirection\",value:function(){var e=this.state,t=e.swipingUpDown,n=e.swipingLeftRight;t&&this.setState({swipingUpDown:!1}),n&&this.setState({swipingLeftRight:!1})}},{key:\"handleOnSwiped\",value:function(e){var t=e.event,n=e.dir,i=e.velocity,r=this.props,a=r.disableSwipe,s=r.stopPropagation,o=r.flickThreshold;if(!a){var l=this.props.isRTL;s&&t.stopPropagation(),this.resetSwipingDirection();var u=(n===ee.LEFT?1:-1)*(l?-1:1),c=n===ee.UP||n===ee.DOWN,h=i>o&&!c;this.handleOnSwipedTo(u,h)}}},{key:\"handleOnSwipedTo\",value:function(e,t){var n=this.state,i=n.currentIndex,r=n.isTransitioning,a=i;!this.sufficientSwipe()&&!t||r||(a+=e),(-1===e&&!this.canSlideLeft()||1===e&&!this.canSlideRight())&&(a=i),this.unthrottledSlideToIndex(a)}},{key:\"handleTouchMove\",value:function(e){this.state.swipingLeftRight&&e.preventDefault()}},{key:\"handleMouseDown\",value:function(){this.imageGallery.current.classList.add(\"image-gallery-using-mouse\")}},{key:\"handleKeyDown\",value:function(e){var t=this.props,n=t.disableKeyDown,i=t.useBrowserFullscreen,r=this.state.isFullscreen;if(this.imageGallery.current.classList.remove(\"image-gallery-using-mouse\"),!n)switch(parseInt(e.keyCode||e.which||0,10)){case 37:this.canSlideLeft()&&!this.playPauseIntervalId&&this.slideLeft(e);break;case 39:this.canSlideRight()&&!this.playPauseIntervalId&&this.slideRight(e);break;case 27:r&&!i&&this.exitFullScreen()}}},{key:\"handleImageError\",value:function(e){var t=this.props.onErrorImageURL;t&&-1===e.target.src.indexOf(t)&&(e.target.src=t)}},{key:\"removeThumbnailsResizeObserver\",value:function(){this.resizeThumbnailWrapperObserver&&this.thumbnailsWrapper&&this.thumbnailsWrapper.current&&(this.resizeThumbnailWrapperObserver.unobserve(this.thumbnailsWrapper.current),this.resizeThumbnailWrapperObserver=null)}},{key:\"removeResizeObserver\",value:function(){this.resizeSlideWrapperObserver&&this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&(this.resizeSlideWrapperObserver.unobserve(this.imageGallerySlideWrapper.current),this.resizeSlideWrapperObserver=null),this.removeThumbnailsResizeObserver()}},{key:\"handleResize\",value:function(){var e=this.state.currentIndex;this.imageGallery&&(this.imageGallery&&this.imageGallery.current&&this.setState({galleryWidth:this.imageGallery.current.offsetWidth}),this.imageGallerySlideWrapper&&this.imageGallerySlideWrapper.current&&this.setState({gallerySlideWrapperHeight:this.imageGallerySlideWrapper.current.offsetHeight}),this.setThumbsTranslate(-this.getThumbsTranslate(e)))}},{key:\"initSlideWrapperResizeObserver\",value:function(e){var t=this;e&&!e.current||(this.resizeSlideWrapperObserver=new Z(R((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperWidth:e.contentRect.width},t.handleResize)}))}),50)),this.resizeSlideWrapperObserver.observe(e.current))}},{key:\"initThumbnailWrapperResizeObserver\",value:function(e){var t=this;e&&!e.current||(this.resizeThumbnailWrapperObserver=new Z(R((function(e){e&&e.forEach((function(e){t.setState({thumbnailsWrapperHeight:e.contentRect.height},t.handleResize)}))}),50)),this.resizeThumbnailWrapperObserver.observe(e.current))}},{key:\"toggleFullScreen\",value:function(){this.state.isFullscreen?this.exitFullScreen():this.fullScreen()}},{key:\"togglePlay\",value:function(){this.playPauseIntervalId?this.pause():this.play()}},{key:\"handleScreenChange\",value:function(){var e=this.props,t=e.onScreenChange,n=e.useBrowserFullscreen,i=document.fullscreenElement||document.msFullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement,r=this.imageGallery.current===i;t&&t(r),n&&this.setState({isFullscreen:r})}},{key:\"slideToIndex\",value:function(e,t){var n=this.state,i=n.currentIndex,r=n.isTransitioning,a=this.props,s=a.items,o=a.slideDuration,l=a.onBeforeSlide;if(!r){t&&this.playPauseIntervalId&&(this.pause(!1),this.play(!1));var u=s.length-1,c=e;e<0?c=u:e>u&&(c=0),l&&c!==i&&l(c),this.setState({previousIndex:i,currentIndex:c,isTransitioning:c!==i,currentSlideOffset:0,slideStyle:{transition:\"all \".concat(o,\"ms ease-out\")}},this.onSliding)}}},{key:\"slideLeft\",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?\"right\":\"left\")}},{key:\"slideRight\",value:function(e){var t=this.props.isRTL;this.slideTo(e,t?\"left\":\"right\")}},{key:\"slideTo\",value:function(e,t){var n=this,i=this.state,r=i.currentIndex,a=i.currentSlideOffset,s=i.isTransitioning,o=this.props.items,l=r+(\"left\"===t?-1:1);s||(2===o.length?this.setState({currentSlideOffset:a+(\"left\"===t?.001:-.001),slideStyle:{transition:\"none\"}},(function(){window.setTimeout((function(){return n.slideToIndex(l,e)}),25)})):this.slideToIndex(l,e))}},{key:\"handleThumbnailMouseOver\",value:function(e,t){this.props.slideOnThumbnailOver&&this.onThumbnailMouseOver(e,t)}},{key:\"handleThumbnailKeyUp\",value:function(e,t){Re(e)&&this.onThumbnailClick(e,t)}},{key:\"handleSlideKeyUp\",value:function(e){Re(e)&&(0,this.props.onClick)(e)}},{key:\"isThumbnailVertical\",value:function(){var e=this.props.thumbnailPosition;return\"left\"===e||\"right\"===e}},{key:\"addScreenChangeEvent\",value:function(){var e=this;xe.forEach((function(t){document.addEventListener(t,e.handleScreenChange)}))}},{key:\"removeScreenChangeEvent\",value:function(){var e=this;xe.forEach((function(t){document.removeEventListener(t,e.handleScreenChange)}))}},{key:\"fullScreen\",value:function(){var e=this.props.useBrowserFullscreen,t=this.imageGallery.current;e?t.requestFullscreen?t.requestFullscreen():t.msRequestFullscreen?t.msRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():this.setModalFullscreen(!0):this.setModalFullscreen(!0),this.setState({isFullscreen:!0})}},{key:\"exitFullScreen\",value:function(){var e=this.state.isFullscreen,t=this.props.useBrowserFullscreen;e&&(t?document.exitFullscreen?document.exitFullscreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.msExitFullscreen?document.msExitFullscreen():this.setModalFullscreen(!1):this.setModalFullscreen(!1),this.setState({isFullscreen:!1}))}},{key:\"pauseOrPlay\",value:function(){var e=this.props.infinite,t=this.state.currentIndex;e||this.canSlideRight()?this.slideToIndex(t+1):this.pause()}},{key:\"play\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props,n=t.onPlay,i=t.slideInterval,r=t.slideDuration,a=this.state.currentIndex;this.playPauseIntervalId||(this.setState({isPlaying:!0}),this.playPauseIntervalId=window.setInterval(this.pauseOrPlay,Math.max(i,r)),n&&e&&n(a))}},{key:\"pause\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=this.props.onPause,n=this.state.currentIndex;this.playPauseIntervalId&&(window.clearInterval(this.playPauseIntervalId),this.playPauseIntervalId=null,this.setState({isPlaying:!1}),t&&e&&t(n))}},{key:\"isImageLoaded\",value:function(e){return!!this.loadedImages[e.original]||(this.loadedImages[e.original]=!0,!1)}},{key:\"handleImageLoaded\",value:function(e,t){var n=this.props.onImageLoad;!this.loadedImages[t]&&n&&(this.loadedImages[t]=!0,n(e))}},{key:\"renderItem\",value:function(e){var t=this.state.isFullscreen,n=this.props.onImageError||this.handleImageError;return a().createElement(ie,{description:e.description,fullscreen:e.fullscreen,handleImageLoaded:this.handleImageLoaded,isFullscreen:t,onImageError:n,original:e.original,originalAlt:e.originalAlt,originalHeight:e.originalHeight,originalWidth:e.originalWidth,originalTitle:e.originalTitle,sizes:e.sizes,loading:e.loading,srcSet:e.srcSet})}},{key:\"renderThumbInner\",value:function(e){var t=this.props.onThumbnailError||this.handleImageError;return a().createElement(\"span\",{className:\"image-gallery-thumbnail-inner\"},a().createElement(\"img\",{className:\"image-gallery-thumbnail-image\",src:e.thumbnail,height:e.thumbnailHeight,width:e.thumbnailWidth,alt:e.thumbnailAlt,title:e.thumbnailTitle,loading:e.thumbnailLoading,onError:t}),e.thumbnailLabel&&a().createElement(\"div\",{className:\"image-gallery-thumbnail-label\"},e.thumbnailLabel))}},{key:\"render\",value:function(){var e=this.state,n=e.currentIndex,i=e.isFullscreen,r=e.modalFullscreen,s=e.isPlaying,o=this.props,l=o.additionalClass,u=o.disableThumbnailSwipe,c=o.indexSeparator,h=o.isRTL,d=o.items,f=o.thumbnailPosition,p=o.renderFullscreenButton,m=o.renderCustomControls,v=o.renderLeftNav,g=o.renderRightNav,b=o.showBullets,y=o.showFullscreenButton,w=o.showIndex,T=o.showThumbnails,S=o.showNav,O=o.showPlayButton,E=o.renderPlayPauseButton,k=this.getThumbnailStyle(),I=this.getSlideItems(),x=I.slides,_=I.thumbnails,R=I.bullets,L=t(\"image-gallery-slide-wrapper\",f,{\"image-gallery-rtl\":h}),P=a().createElement(\"div\",{ref:this.imageGallerySlideWrapper,className:L},m&&m(),this.canSlide()?a().createElement(a().Fragment,null,S&&a().createElement(a().Fragment,null,v(this.slideLeft,!this.canSlideLeft()),g(this.slideRight,!this.canSlideRight())),a().createElement(ge,{className:\"image-gallery-swipe\",delta:0,onSwiping:this.handleSwiping,onSwiped:this.handleOnSwiped},a().createElement(\"div\",{className:\"image-gallery-slides\"},x))):a().createElement(\"div\",{className:\"image-gallery-slides\"},x),O&&E(this.togglePlay,s),b&&a().createElement(\"div\",{className:\"image-gallery-bullets\"},a().createElement(\"div\",{className:\"image-gallery-bullets-container\",role:\"navigation\",\"aria-label\":\"Bullet Navigation\"},R)),y&&p(this.toggleFullScreen,i),w&&a().createElement(\"div\",{className:\"image-gallery-index\"},a().createElement(\"span\",{className:\"image-gallery-index-current\"},n+1),a().createElement(\"span\",{className:\"image-gallery-index-separator\"},c),a().createElement(\"span\",{className:\"image-gallery-index-total\"},d.length))),M=t(\"image-gallery\",l,{\"fullscreen-modal\":r}),W=t(\"image-gallery-content\",f,{fullscreen:i}),D=t(\"image-gallery-thumbnails-wrapper\",f,{\"thumbnails-wrapper-rtl\":!this.isThumbnailVertical()&&h},{\"thumbnails-swipe-horizontal\":!this.isThumbnailVertical()&&!u},{\"thumbnails-swipe-vertical\":this.isThumbnailVertical()&&!u});return a().createElement(\"div\",{ref:this.imageGallery,className:M,\"aria-live\":\"polite\"},a().createElement(\"div\",{className:W},(\"bottom\"===f||\"right\"===f)&&P,T&&_.length>0?a().createElement(ge,{className:D,delta:0,onSwiping:!u&&this.handleThumbnailSwiping,onSwiped:!u&&this.handleOnThumbnailSwiped},a().createElement(\"div\",{className:\"image-gallery-thumbnails\",ref:this.thumbnailsWrapper,style:this.getThumbnailBarHeight()},a().createElement(\"nav\",{ref:this.thumbnails,className:\"image-gallery-thumbnails-container\",style:k,\"aria-label\":\"Thumbnail Navigation\"},_))):null,(\"top\"===f||\"left\"===f)&&P))}}])&&Se(n.prototype,i),l}(a().Component);Le.propTypes={flickThreshold:te.number,items:(0,te.arrayOf)((0,te.shape)({bulletClass:te.string,bulletOnClick:te.func,description:te.string,original:te.string,originalHeight:te.number,originalWidth:te.number,loading:te.string,thumbnailHeight:te.number,thumbnailWidth:te.number,thumbnailLoading:te.string,fullscreen:te.string,originalAlt:te.string,originalTitle:te.string,thumbnail:te.string,thumbnailAlt:te.string,thumbnailLabel:te.string,thumbnailTitle:te.string,originalClass:te.string,thumbnailClass:te.string,renderItem:te.func,renderThumbInner:te.func,imageSet:_e,srcSet:te.string,sizes:te.string})).isRequired,showNav:te.bool,autoPlay:te.bool,lazyLoad:te.bool,infinite:te.bool,showIndex:te.bool,showBullets:te.bool,showThumbnails:te.bool,showPlayButton:te.bool,showFullscreenButton:te.bool,disableThumbnailScroll:te.bool,disableKeyDown:te.bool,disableSwipe:te.bool,disableThumbnailSwipe:te.bool,useBrowserFullscreen:te.bool,onErrorImageURL:te.string,indexSeparator:te.string,thumbnailPosition:(0,te.oneOf)([\"top\",\"bottom\",\"left\",\"right\"]),startIndex:te.number,slideDuration:te.number,slideInterval:te.number,slideOnThumbnailOver:te.bool,swipeThreshold:te.number,swipingTransitionDuration:te.number,swipingThumbnailTransitionDuration:te.number,onSlide:te.func,onBeforeSlide:te.func,onScreenChange:te.func,onPause:te.func,onPlay:te.func,onClick:te.func,onImageLoad:te.func,onImageError:te.func,onTouchMove:te.func,onTouchEnd:te.func,onTouchStart:te.func,onMouseOver:te.func,onMouseLeave:te.func,onThumbnailError:te.func,onThumbnailClick:te.func,renderCustomControls:te.func,renderLeftNav:te.func,renderRightNav:te.func,renderPlayPauseButton:te.func,renderFullscreenButton:te.func,renderItem:te.func,renderThumbInner:te.func,stopPropagation:te.bool,additionalClass:te.string,useTranslate3D:te.bool,isRTL:te.bool,useWindowKeyDown:te.bool},Le.defaultProps={onErrorImageURL:\"\",additionalClass:\"\",showNav:!0,autoPlay:!1,lazyLoad:!1,infinite:!0,showIndex:!1,showBullets:!1,showThumbnails:!0,showPlayButton:!0,showFullscreenButton:!0,disableThumbnailScroll:!1,disableKeyDown:!1,disableSwipe:!1,disableThumbnailSwipe:!1,useTranslate3D:!0,isRTL:!1,useBrowserFullscreen:!0,flickThreshold:.4,stopPropagation:!1,indexSeparator:\" / \",thumbnailPosition:\"bottom\",startIndex:0,slideDuration:450,swipingTransitionDuration:0,swipingThumbnailTransitionDuration:0,onSlide:null,onBeforeSlide:null,onScreenChange:null,onPause:null,onPlay:null,onClick:null,onImageLoad:null,onImageError:null,onTouchMove:null,onTouchEnd:null,onTouchStart:null,onMouseOver:null,onMouseLeave:null,onThumbnailError:null,onThumbnailClick:null,renderCustomControls:null,renderThumbInner:null,renderItem:null,slideInterval:3e3,slideOnThumbnailOver:!1,swipeThreshold:30,renderLeftNav:function(e,t){return a().createElement(ce,{onClick:e,disabled:t})},renderRightNav:function(e,t){return a().createElement(de,{onClick:e,disabled:t})},renderPlayPauseButton:function(e,t){return a().createElement(pe,{onClick:e,isPlaying:t})},renderFullscreenButton:function(e,t){return a().createElement(le,{onClick:e,isFullscreen:t})},useWindowKeyDown:!0};const Pe=Le})(),r})()}));","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","(()=>{var e={296:(e,t,r)=>{var o=/^\\s+|\\s+$/g,n=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt,u=\"object\"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,l=\"object\"==typeof self&&self&&self.Object===Object&&self,a=u||l||Function(\"return this\")(),f=Object.prototype.toString,p=Math.max,y=Math.min,d=function(){return a.Date.now()};function b(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function h(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==f.call(e)}(e))return NaN;if(b(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=b(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(o,\"\");var r=i.test(e);return r||c.test(e)?s(e.slice(2),r?2:8):n.test(e)?NaN:+e}e.exports=function(e,t,r){var o,n,i,c,s,u,l=0,a=!1,f=!1,v=!0;if(\"function\"!=typeof e)throw new TypeError(\"Expected a function\");function m(t){var r=o,i=n;return o=n=void 0,l=t,c=e.apply(i,r)}function O(e){return l=e,s=setTimeout(g,t),a?m(e):c}function w(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-l>=i}function g(){var e=d();if(w(e))return P(e);s=setTimeout(g,function(e){var r=t-(e-u);return f?y(r,i-(e-l)):r}(e))}function P(e){return s=void 0,v&&o?m(e):(o=n=void 0,c)}function j(){var e=d(),r=w(e);if(o=arguments,n=this,u=e,r){if(void 0===s)return O(u);if(f)return s=setTimeout(g,t),m(u)}return void 0===s&&(s=setTimeout(g,t)),c}return t=h(t)||0,b(r)&&(a=!!r.leading,i=(f=\"maxWait\"in r)?p(h(r.maxWait)||0,t):i,v=\"trailing\"in r?!!r.trailing:v),j.cancel=function(){void 0!==s&&clearTimeout(s),l=0,o=u=n=s=void 0},j.flush=function(){return void 0===s?c:P(d())},j}},96:(e,t,r)=>{var o=\"Expected a function\",n=/^\\s+|\\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt,l=\"object\"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,a=\"object\"==typeof self&&self&&self.Object===Object&&self,f=l||a||Function(\"return this\")(),p=Object.prototype.toString,y=Math.max,d=Math.min,b=function(){return f.Date.now()};function h(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function v(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==p.call(e)}(e))return NaN;if(h(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=h(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(n,\"\");var r=c.test(e);return r||s.test(e)?u(e.slice(2),r?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,r){var n=!0,i=!0;if(\"function\"!=typeof e)throw new TypeError(o);return h(r)&&(n=\"leading\"in r?!!r.leading:n,i=\"trailing\"in r?!!r.trailing:i),function(e,t,r){var n,i,c,s,u,l,a=0,f=!1,p=!1,m=!0;if(\"function\"!=typeof e)throw new TypeError(o);function O(t){var r=n,o=i;return n=i=void 0,a=t,s=e.apply(o,r)}function w(e){return a=e,u=setTimeout(P,t),f?O(e):s}function g(e){var r=e-l;return void 0===l||r>=t||r<0||p&&e-a>=c}function P(){var e=b();if(g(e))return j(e);u=setTimeout(P,function(e){var r=t-(e-l);return p?d(r,c-(e-a)):r}(e))}function j(e){return u=void 0,m&&n?O(e):(n=i=void 0,s)}function T(){var e=b(),r=g(e);if(n=arguments,i=this,l=e,r){if(void 0===u)return w(l);if(p)return u=setTimeout(P,t),O(l)}return void 0===u&&(u=setTimeout(P,t)),s}return t=v(t)||0,h(r)&&(f=!!r.leading,c=(p=\"maxWait\"in r)?y(v(r.maxWait)||0,t):c,m=\"trailing\"in r?!!r.trailing:m),T.cancel=function(){void 0!==u&&clearTimeout(u),a=0,n=l=i=u=void 0},T.flush=function(){return void 0===u?s:j(b())},T}(e,t,{leading:n,maxWait:t,trailing:i})}},703:(e,t,r)=>{\"use strict\";var o=r(414);function n(){}function i(){}i.resetWarningCache=n,e.exports=function(){function e(e,t,r,n,i,c){if(c!==o){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};(()=>{\"use strict\";r.r(o),r.d(o,{LazyLoadComponent:()=>J,LazyLoadImage:()=>ue,trackWindowScroll:()=>C});const e=require(\"react\");var t=r.n(e),n=r(697);const i=require(\"react-dom\");var c=r.n(i);function s(){return\"undefined\"!=typeof window&&\"IntersectionObserver\"in window&&\"isIntersecting\"in window.IntersectionObserverEntry.prototype}function u(e){return(u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t){if(t&&(\"object\"===u(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var b=function(e){e.forEach((function(e){e.isIntersecting&&e.target.onVisible()}))},h={},v=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(v,e);var r,o,n,i,u=(n=v,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=d(n);if(i){var r=d(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return y(this,e)});function v(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,v),(t=u.call(this,e)).supportsObserver=!e.scrollPosition&&e.useIntersectionObserver&&s(),t.supportsObserver){var r=e.threshold;t.observer=function(e){return h[e]=h[e]||new IntersectionObserver(b,{rootMargin:e+\"px\"}),h[e]}(r)}return t}return r=v,(o=[{key:\"componentDidMount\",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:\"componentWillUnmount\",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:\"componentDidUpdate\",value:function(){this.supportsObserver||this.updateVisibility()}},{key:\"getPlaceholderBoundingBox\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props.scrollPosition,t=this.placeholder.getBoundingClientRect(),r=c().findDOMNode(this.placeholder).style,o={left:parseInt(r.getPropertyValue(\"margin-left\"),10)||0,top:parseInt(r.getPropertyValue(\"margin-top\"),10)||0};return{bottom:e.y+t.bottom+o.top,left:e.x+t.left+o.left,right:e.x+t.right+o.left,top:e.y+t.top+o.top}}},{key:\"isPlaceholderInViewport\",value:function(){if(\"undefined\"==typeof window||!this.placeholder)return!1;var e=this.props,t=e.scrollPosition,r=e.threshold,o=this.getPlaceholderBoundingBox(t),n=t.y+window.innerHeight,i=t.x,c=t.x+window.innerWidth,s=t.y;return Boolean(s-r<=o.bottom&&n+r>=o.top&&i-r<=o.right&&c+r>=o.left)}},{key:\"updateVisibility\",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:\"render\",value:function(){var e=this,r=this.props,o=r.className,n=r.height,i=r.placeholder,c=r.style,s=r.width;if(i&&\"function\"!=typeof i.type)return t().cloneElement(i,{ref:function(t){return e.placeholder=t}});var u=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({display:\"inline-block\"},c);return void 0!==s&&(u.width=s),void 0!==n&&(u.height=n),t().createElement(\"span\",{className:o,ref:function(t){return e.placeholder=t},style:u},i)}}])&&f(r.prototype,o),v}(t().Component);v.propTypes={onVisible:n.PropTypes.func.isRequired,className:n.PropTypes.string,height:n.PropTypes.oneOfType([n.PropTypes.number,n.PropTypes.string]),placeholder:n.PropTypes.element,threshold:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool,scrollPosition:n.PropTypes.shape({x:n.PropTypes.number.isRequired,y:n.PropTypes.number.isRequired}),width:n.PropTypes.oneOfType([n.PropTypes.number,n.PropTypes.string])},v.defaultProps={className:\"\",placeholder:null,threshold:100,useIntersectionObserver:!0};const m=v;var O=r(296),w=r.n(O),g=r(96),P=r.n(g),j=function(e){var t=getComputedStyle(e,null);return t.getPropertyValue(\"overflow\")+t.getPropertyValue(\"overflow-y\")+t.getPropertyValue(\"overflow-x\")};const T=function(e){if(!(e instanceof HTMLElement))return window;for(var t=e;t&&t instanceof HTMLElement;){if(/(scroll|auto)/.test(j(t)))return t;t=t.parentNode}return window};function S(e){return(S=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var E=[\"delayMethod\",\"delayTime\"];function _(){return(_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}function I(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function L(e,t){return(L=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function x(e,t){if(t&&(\"object\"===S(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return R(e)}function R(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function k(e){return(k=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var D=function(){return\"undefined\"==typeof window?0:window.scrollX||window.pageXOffset},N=function(){return\"undefined\"==typeof window?0:window.scrollY||window.pageYOffset};const C=function(e){var r=function(r){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&L(e,t)}(a,r);var o,n,i,u,l=(i=a,u=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=k(i);if(u){var r=k(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return x(this,e)});function a(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,a),(r=l.call(this,e)).useIntersectionObserver=e.useIntersectionObserver&&s(),r.useIntersectionObserver)return x(r);var o=r.onChangeScroll.bind(R(r));return\"debounce\"===e.delayMethod?r.delayedScroll=w()(o,e.delayTime):\"throttle\"===e.delayMethod&&(r.delayedScroll=P()(o,e.delayTime)),r.state={scrollPosition:{x:D(),y:N()}},r.baseComponentRef=t().createRef(),r}return o=a,(n=[{key:\"componentDidMount\",value:function(){this.addListeners()}},{key:\"componentWillUnmount\",value:function(){this.removeListeners()}},{key:\"componentDidUpdate\",value:function(){\"undefined\"==typeof window||this.useIntersectionObserver||T(c().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:\"addListeners\",value:function(){\"undefined\"==typeof window||this.useIntersectionObserver||(this.scrollElement=T(c().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener(\"scroll\",this.delayedScroll,{passive:!0}),window.addEventListener(\"resize\",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener(\"scroll\",this.delayedScroll,{passive:!0}))}},{key:\"removeListeners\",value:function(){\"undefined\"==typeof window||this.useIntersectionObserver||(this.scrollElement.removeEventListener(\"scroll\",this.delayedScroll),window.removeEventListener(\"resize\",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener(\"scroll\",this.delayedScroll))}},{key:\"onChangeScroll\",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:D(),y:N()}})}},{key:\"render\",value:function(){var r=this.props,o=(r.delayMethod,r.delayTime,function(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(r,E)),n=this.useIntersectionObserver?null:this.state.scrollPosition;return t().createElement(e,_({forwardRef:this.baseComponentRef,scrollPosition:n},o))}}])&&I(o.prototype,n),a}(t().Component);return r.propTypes={delayMethod:n.PropTypes.oneOf([\"debounce\",\"throttle\"]),delayTime:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool},r.defaultProps={delayMethod:\"throttle\",delayTime:300,useIntersectionObserver:!0},r};function M(e){return(M=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function B(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function V(e,t){return(V=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function W(e,t){if(t&&(\"object\"===M(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}function z(e){return(z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&V(e,t)}(s,e);var r,o,n,i,c=(n=s,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=z(n);if(i){var r=z(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return W(this,e)});function s(e){return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,s),c.call(this,e)}return r=s,(o=[{key:\"render\",value:function(){return t().createElement(m,this.props)}}])&&B(r.prototype,o),s}(t().Component);const U=C($);function q(e){return(q=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function F(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function H(e,t){return(H=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Y(e,t){if(t&&(\"object\"===q(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return X(e)}function X(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function A(e){return(A=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var G=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&H(e,t)}(u,e);var r,o,n,i,c=(n=u,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=A(n);if(i){var r=A(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return Y(this,e)});function u(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,u),t=c.call(this,e);var r=e.afterLoad,o=e.beforeLoad,n=e.scrollPosition,i=e.visibleByDefault;return t.state={visible:i},i&&(o(),r()),t.onVisible=t.onVisible.bind(X(t)),t.isScrollTracked=Boolean(n&&Number.isFinite(n.x)&&n.x>=0&&Number.isFinite(n.y)&&n.y>=0),t}return r=u,(o=[{key:\"componentDidUpdate\",value:function(e,t){t.visible!==this.state.visible&&this.props.afterLoad()}},{key:\"onVisible\",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:\"render\",value:function(){if(this.state.visible)return this.props.children;var e=this.props,r=e.className,o=e.delayMethod,n=e.delayTime,i=e.height,c=e.placeholder,u=e.scrollPosition,l=e.style,a=e.threshold,f=e.useIntersectionObserver,p=e.width;return this.isScrollTracked||f&&s()?t().createElement(m,{className:r,height:i,onVisible:this.onVisible,placeholder:c,scrollPosition:u,style:l,threshold:a,useIntersectionObserver:f,width:p}):t().createElement(U,{className:r,delayMethod:o,delayTime:n,height:i,onVisible:this.onVisible,placeholder:c,style:l,threshold:a,width:p})}}])&&F(r.prototype,o),u}(t().Component);G.propTypes={afterLoad:n.PropTypes.func,beforeLoad:n.PropTypes.func,useIntersectionObserver:n.PropTypes.bool,visibleByDefault:n.PropTypes.bool},G.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};const J=G;function K(e){return(K=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}var Q=[\"afterLoad\",\"beforeLoad\",\"delayMethod\",\"delayTime\",\"effect\",\"placeholder\",\"placeholderSrc\",\"scrollPosition\",\"threshold\",\"useIntersectionObserver\",\"visibleByDefault\",\"wrapperClassName\",\"wrapperProps\"];function Z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(r),!0).forEach((function(t){te(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Z(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function te(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function re(){return(re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}function oe(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,\"value\"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ne(e,t){return(ne=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ie(e,t){if(t&&(\"object\"===K(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e)}function ce(e){return(ce=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var se=function(e){!function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ne(e,t)}(s,e);var r,o,n,i,c=(n=s,i=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=ce(n);if(i){var r=ce(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return ie(this,e)});function s(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,s),(t=c.call(this,e)).state={loaded:!1},t}return r=s,(o=[{key:\"onImageLoad\",value:function(){var e=this;return this.state.loaded?null:function(){e.props.afterLoad(),e.setState({loaded:!0})}}},{key:\"getImg\",value:function(){var e=this.props,r=(e.afterLoad,e.beforeLoad,e.delayMethod,e.delayTime,e.effect,e.placeholder,e.placeholderSrc,e.scrollPosition,e.threshold,e.useIntersectionObserver,e.visibleByDefault,e.wrapperClassName,e.wrapperProps,function(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,Q));return t().createElement(\"img\",re({onLoad:this.onImageLoad()},r))}},{key:\"getLazyLoadImage\",value:function(){var e=this.props,r=e.beforeLoad,o=e.className,n=e.delayMethod,i=e.delayTime,c=e.height,s=e.placeholder,u=e.scrollPosition,l=e.style,a=e.threshold,f=e.useIntersectionObserver,p=e.visibleByDefault,y=e.width;return t().createElement(J,{beforeLoad:r,className:o,delayMethod:n,delayTime:i,height:c,placeholder:s,scrollPosition:u,style:l,threshold:a,useIntersectionObserver:f,visibleByDefault:p,width:y},this.getImg())}},{key:\"getWrappedLazyLoadImage\",value:function(e){var r=this.props,o=r.effect,n=r.height,i=r.placeholderSrc,c=r.width,s=r.wrapperClassName,u=r.wrapperProps,l=this.state.loaded,a=l?\" lazy-load-image-loaded\":\"\",f=l||!i?{}:{backgroundImage:\"url(\".concat(i,\")\"),backgroundSize:\"100% 100%\"};return t().createElement(\"span\",re({className:s+\" lazy-load-image-background \"+o+a,style:ee(ee({},f),{},{color:\"transparent\",display:\"inline-block\",height:n,width:c})},u),e)}},{key:\"render\",value:function(){var e=this.props,t=e.effect,r=e.placeholderSrc,o=e.visibleByDefault,n=e.wrapperClassName,i=e.wrapperProps,c=this.getLazyLoadImage();return(t||r)&&!o||n||i?this.getWrappedLazyLoadImage(c):c}}])&&oe(r.prototype,o),s}(t().Component);se.propTypes={afterLoad:n.PropTypes.func,beforeLoad:n.PropTypes.func,delayMethod:n.PropTypes.string,delayTime:n.PropTypes.number,effect:n.PropTypes.string,placeholderSrc:n.PropTypes.string,threshold:n.PropTypes.number,useIntersectionObserver:n.PropTypes.bool,visibleByDefault:n.PropTypes.bool,wrapperClassName:n.PropTypes.string,wrapperProps:n.PropTypes.object},se.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:\"throttle\",delayTime:300,effect:\"\",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:\"\"};const ue=se})(),module.exports=o})();","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};exports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;\nexports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=function(){throw Error(\"act(...) is not supported in production builds of React.\");};\nexports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};\nexports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};\nexports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.2.0\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/react-games.github.io/\";","__webpack_require__.nc = undefined;","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n\n /**\n * The delta between this location and the former location in the history stack\n */\n delta: number | null;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial<Path>;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an <a href> attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Returns a URL for the given `to` value\n *\n * @param to - The destination URL\n */\n createURL(to: To): URL;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLACE navigations for data routers\n * behave the same as POP\n *\n * @param to Unencoded path\n */\n encodeLocation(to: To): Path;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n idx: number;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial<Location>;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n function createHref(to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref,\n createURL(to) {\n return new URL(createHref(to), \"http://localhost\");\n },\n encodeLocation(to: To) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\",\n };\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 1 });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation, delta: 0 });\n }\n },\n go(delta) {\n action = Action.Pop;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({ action, location: nextLocation, delta });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant<T>(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\nfunction warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location, index: number): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n idx: index,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly<Location> {\n let location: Readonly<Location> = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial<Path>) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial<Path> {\n let parsedPath: Partial<Path> = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n let index = getIndex()!;\n // Index should only be null when we initialize. If not, it's because the\n // user called history.pushState or history.replaceState directly, in which\n // case we should log a warning as it will result in bugs.\n if (index == null) {\n index = 0;\n globalHistory.replaceState({ ...globalHistory.state, idx: index }, \"\");\n }\n\n function getIndex(): number {\n let state = globalHistory.state || { idx: null };\n return state.idx;\n }\n\n function handlePop() {\n action = Action.Pop;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({ action, location: history.location, delta });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 1 });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location, delta: 0 });\n }\n }\n\n function createURL(to: To): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n window.location.origin !== \"null\"\n ? window.location.origin\n : window.location.href;\n\n let href = typeof to === \"string\" ? to : createPath(to);\n invariant(\n base,\n `No window.location.(origin|href) available to create URL for href: ${href}`\n );\n return new URL(href, base);\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n createURL,\n encodeLocation(to) {\n // Encode a Location the same way window.location would\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","import type { Location, Path, To } from \"./history\";\nimport { invariant, parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\nexport type MutationFormMethod = \"post\" | \"put\" | \"patch\" | \"delete\";\nexport type FormMethod = \"get\" | MutationFormMethod;\n\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n context?: any;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise<Response> | Response | Promise<any> | any;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise<Response> | Response | Promise<any> | any;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam<Path extends string> =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam<L> | _PathParam<R>\n : // find params after `:`\n Path extends `:${infer Param}`\n ? Param extends `${infer Optional}?`\n ? Optional\n : Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam<Path extends string> =\n // check if path is just a wildcard\n Path extends \"*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam<Rest>\n : // look for params in the absence of wildcards\n _PathParam<Path>;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey<Segment extends string> =\n // if could not find path params, fallback to `string`\n [PathParam<Segment>] extends [never] ? string : PathParam<Segment>;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch<string, AgnosticDataRouteObject> {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n parentPath: number[] = [],\n allIds: Set<string> = new Set<string>()\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !allIds.has(id),\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n allIds.add(id);\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = { ...route, id };\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n id,\n children: route.children\n ? convertRoutesToDataRoutes(route.children, treePath, allIds)\n : undefined,\n };\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial<Location> | string,\n basename = \"/\"\n): AgnosticRouteMatch<string, RouteObjectType>[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch<string, RouteObjectType>(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta<RouteObjectType>[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch<RouteObjectType>[] = [],\n parentsMeta: RouteMeta<RouteObjectType>[] = [],\n parentPath = \"\"\n): RouteBranch<RouteObjectType>[] {\n let flattenRoute = (\n route: RouteObjectType,\n index: number,\n relativePath?: string\n ) => {\n let meta: RouteMeta<RouteObjectType> = {\n relativePath:\n relativePath === undefined ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta,\n });\n };\n routes.forEach((route, index) => {\n // coarse-grain check for optional params\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n\n return branches;\n}\n\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path: string): string[] {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n\n let [first, ...rest] = segments;\n\n // Optional path segments are denoted by a trailing `?`\n let isOptional = first.endsWith(\"?\");\n // Compute the corresponding required segment: `foo?` -> `foo`\n let required = first.replace(/\\?$/, \"\");\n\n if (rest.length === 0) {\n // Intepret empty string as omitting an optional segment\n // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n return isOptional ? [required, \"\"] : [required];\n }\n\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\n let result: string[] = [];\n\n // All child paths with the prefix. Do this for all children before the\n // optional version for all children so we get consistent ordering where the\n // parent optional aspect is preferred as required. Otherwise, we can get\n // child sections interspersed where deeper optional segments are higher than\n // parent optional segments, where for example, /:two would explodes _earlier_\n // then /:one. By always including the parent as required _for all children_\n // first, we avoid this issue\n result.push(\n ...restExploded.map((subpath) =>\n subpath === \"\" ? required : [required, subpath].join(\"/\")\n )\n );\n\n // Then if this is an optional value, add all child versions without\n if (isOptional) {\n result.push(...restExploded);\n }\n\n // for absolute paths, ensure `/` instead of empty segment\n return result.map((exploded) =>\n path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded\n );\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch<RouteObjectType>,\n pathname: string\n): AgnosticRouteMatch<ParamKey, RouteObjectType>[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch<ParamKey, RouteObjectType>[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params<ParamKey>,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/utils/generate-path\n */\nexport function generatePath<Path extends string>(\n originalPath: Path,\n params: {\n [key in PathParam<Path>]: string | null;\n } = {} as any\n): string {\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(\n false,\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n path = path.replace(/\\*$/, \"/*\") as Path;\n }\n\n return (\n path\n .replace(\n /^:(\\w+)(\\??)/g,\n (_, key: PathParam<Path>, optional: string | undefined) => {\n let param = params[key];\n if (optional === \"?\") {\n return param == null ? \"\" : param;\n }\n if (param == null) {\n invariant(false, `Missing \":${key}\" param`);\n }\n return param;\n }\n )\n .replace(\n /\\/:(\\w+)(\\??)/g,\n (_, key: PathParam<Path>, optional: string | undefined) => {\n let param = params[key];\n if (optional === \"?\") {\n return param == null ? \"\" : `/${param}`;\n }\n if (param == null) {\n invariant(false, `Missing \":${key}\" param`);\n }\n return `/${param}`;\n }\n )\n // Remove any optional markers from optional static segments\n .replace(/\\?/g, \"\")\n .replace(/(\\/?)\\*/, (_, prefix, __, str) => {\n const star = \"*\" as PathParam<Path>;\n\n if (params[star] == null) {\n // If no splat was provided, trim the trailing slash _unless_ it's\n // the entire path\n return str === \"/*\" ? \"/\" : \"\";\n }\n\n // Apply the splat\n return `${prefix}${params[star]}`;\n })\n );\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern<Path extends string = string> {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch<ParamKey extends string = string> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params<ParamKey>;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable<T> = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(\n pattern: PathPattern<Path> | Path,\n pathname: string\n): PathMatch<ParamKey> | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce<Mutable<Params>>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/\\/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"/([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * @private\n */\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging @remix-run/router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial<Path>\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in <Link to=\"...\"> and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\" element={<Link to=\"..\"}>\n * </Route>\n *\n * <Route path=\"/\">\n * <Route path=\"accounts\">\n * <Route element={<AccountsLayout />}> // <-- Does not contribute\n * <Route index element={<Link to=\"..\"} /> // <-- Does not contribute\n * </Route\n * </Route>\n * </Route>\n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial<Path>;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `<Link to>` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how <a href> works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = <Data>(\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise<any> {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeysSet: Set<string> = new Set<string>();\n private controller: AbortController;\n private abortPromise: Promise<void>;\n private unlistenAbortSignal: () => void;\n private subscribers: Set<(aborted: boolean, settledKey?: string) => void> =\n new Set();\n data: Record<string, unknown>;\n init?: ResponseInit;\n deferredKeys: string[] = [];\n\n constructor(data: Record<string, unknown>, responseInit?: ResponseInit) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n\n if (this.done) {\n // All incoming values were resolved\n this.unlistenAbortSignal();\n }\n\n this.init = responseInit;\n }\n\n private trackPromise(\n key: string,\n value: Promise<unknown> | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.deferredKeys.push(key);\n this.pendingKeysSet.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeysSet.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n this.emit(false, key);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n this.emit(false, key);\n return data;\n }\n\n private emit(aborted: boolean, settledKey?: string) {\n this.subscribers.forEach((subscriber) => subscriber(aborted, settledKey));\n }\n\n subscribe(fn: (aborted: boolean, settledKey?: string) => void) {\n this.subscribers.add(fn);\n return () => this.subscribers.delete(fn);\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n this.emit(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeysSet.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n\n get pendingKeys() {\n return Array.from(this.pendingKeysSet);\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport type DeferFunction = (\n data: Record<string, unknown>,\n init?: number | ResponseInit\n) => DeferredData;\n\nexport const defer: DeferFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n return new DeferredData(data, responseInit);\n};\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n error?: Error;\n internal: boolean;\n\n constructor(\n status: number,\n statusText: string | undefined,\n data: any,\n internal = false\n ) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data instanceof Error) {\n this.data = data.toString();\n this.error = data;\n } else {\n this.data = data;\n }\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nexport function isRouteErrorResponse(error: any): error is ErrorResponse {\n return (\n error != null &&\n typeof error.status === \"number\" &&\n typeof error.statusText === \"string\" &&\n typeof error.internal === \"boolean\" &&\n \"data\" in error\n );\n}\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import type { History, Location, Path, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n invariant,\n parsePath,\n} from \"./history\";\nimport type {\n DataResult,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n MutationFormMethod,\n ShouldRevalidateFunction,\n} from \"./utils\";\nimport {\n DeferredData,\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n stripBasename,\n warning,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record<string, number>,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): Promise<void>;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To, opts?: RouterNavigateOptions): Promise<void>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterNavigateOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to URL encode a destination path according to the internal\n * history implementation\n * @param to\n */\n encodeLocation(to: To): Path;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher<TData = any>(key?: string): Fetcher<TData>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get a navigation blocker\n * @param key The identifier for the blocker\n * @param fn The blocker function implementation\n */\n getBlocker(key: string, fn: BlockerFunction): Blocker;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete a navigation blocker\n * @param key The identifier for the blocker\n */\n deleteBlocker(key: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * HMR needs to pass in-flight route updates to React Router\n * TODO: Replace this with granular route update APIs (addRoute, updateRoute, deleteRoute)\n */\n _internalSetRoutes(routes: AgnosticRouteObject[]): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map<string, AbortController>;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map<string, DeferredData>;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map<string, Fetcher>;\n\n /**\n * Map of current blockers\n */\n blockers: Map<string, Blocker>;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick<RouterState, \"loaderData\" | \"actionData\" | \"errors\">\n>;\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n basename?: string;\n routes: AgnosticRouteObject[];\n history: History;\n hydrationData?: HydrationState;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n basename: Router[\"basename\"];\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n actionHeaders: Record<string, Headers>;\n activeDeferreds: Record<string, DeferredData> | null;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(\n request: Request,\n opts?: { requestContext?: unknown }\n ): Promise<StaticHandlerContext | Response>;\n queryRoute(\n request: Request,\n opts?: { routeId?: string; requestContext?: unknown }\n ): Promise<any>;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\n/**\n * Options for a navigate() call for a Link navigation\n */\ntype LinkNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n};\n\n/**\n * Options for a navigate() call for a Form navigation\n */\ntype SubmissionNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n formMethod?: FormMethod;\n formEncType?: FormEncType;\n formData: FormData;\n};\n\n/**\n * Options to pass to navigate() for either a Link or Form navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions =\n | Omit<LinkNavigateOptions, \"replace\">\n | Omit<SubmissionNavigateOptions, \"replace\">;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates<TData = any> = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Loading: {\n state: \"loading\";\n formMethod: FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n data: TData | undefined;\n \" _hasFetcherDoneAnything \"?: boolean;\n };\n};\n\nexport type Fetcher<TData = any> =\n FetcherStates<TData>[keyof FetcherStates<TData>];\n\ninterface BlockerBlocked {\n state: \"blocked\";\n reset(): void;\n proceed(): void;\n location: Location;\n}\n\ninterface BlockerUnblocked {\n state: \"unblocked\";\n reset: undefined;\n proceed: undefined;\n location: undefined;\n}\n\ninterface BlockerProceeding {\n state: \"proceeding\";\n reset: undefined;\n proceed: undefined;\n location: Location;\n}\n\nexport type Blocker = BlockerUnblocked | BlockerBlocked | BlockerProceeding;\n\nexport type BlockerFunction = (args: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n}) => boolean;\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Cached info for active fetcher.load() instances so they can participate\n * in revalidation\n */\ninterface FetchLoadMatch {\n routeId: string;\n path: string;\n}\n\n/**\n * Identified fetcher.load() calls that need to be revalidated\n */\ninterface RevalidatingFetcher extends FetchLoadMatch {\n key: string;\n match: AgnosticDataRouteMatch | null;\n matches: AgnosticDataRouteMatch[] | null;\n}\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nconst validMutationMethodsArr: MutationFormMethod[] = [\n \"post\",\n \"put\",\n \"patch\",\n \"delete\",\n];\nconst validMutationMethods = new Set<MutationFormMethod>(\n validMutationMethodsArr\n);\n\nconst validRequestMethodsArr: FormMethod[] = [\n \"get\",\n ...validMutationMethodsArr,\n];\nconst validRequestMethods = new Set<FormMethod>(validRequestMethodsArr);\n\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_BLOCKER: BlockerUnblocked = {\n state: \"unblocked\",\n proceed: undefined,\n reset: undefined,\n location: undefined,\n};\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\nconst isServer = !isBrowser;\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let dataRoutes = convertRoutesToDataRoutes(init.routes);\n let inFlightDataRoutes: AgnosticDataRouteObject[] | undefined;\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set<RouterSubscriber>();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record<string, number> | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from <ScrollRestoration /> until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n // SSR did the initial scroll restoration.\n let initialScrollRestored = init.hydrationData != null;\n\n let initialMatches = matchRoutes(\n dataRoutes,\n init.history.location,\n init.basename\n );\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname,\n });\n let { matches, route } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n !initialMatches.some((m) => m.route.loader) || init.hydrationData != null;\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n blockers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidate()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map<string, AbortController>();\n\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map<string, number>();\n\n // Fetchers that triggered redirect navigations from their actions\n let fetchRedirectIds = new Set<string>();\n\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map<string, FetchLoadMatch>();\n\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map<string, DeferredData>();\n\n // Store blocker functions in a separate Map outside of router state since\n // we don't need to update UI state if they change\n let blockerFunctions = new Map<string, BlockerFunction>();\n\n // Flag to ignore the next history update, so we can revert the URL change on\n // a POP navigation that was blocked by the user without touching router state\n let ignoreNextHistoryUpdate = false;\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location, delta }) => {\n // Ignore this event if it was just us resetting the URL from a\n // blocked POP navigation\n if (ignoreNextHistoryUpdate) {\n ignoreNextHistoryUpdate = false;\n return;\n }\n\n warning(\n blockerFunctions.size === 0 || delta != null,\n \"You are trying to use a blocker on a POP navigation to a location \" +\n \"that was not created by @remix-run/router. This will fail silently in \" +\n \"production. This can happen if you are navigating outside the router \" +\n \"via `window.history.pushState`/`window.location.hash` instead of using \" +\n \"router navigation APIs. This can also happen if you are using \" +\n \"createHashRouter and the user manually changes the URL.\"\n );\n\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction,\n });\n\n if (blockerKey && delta != null) {\n // Restore the URL to match the current UI, but don't update router state\n ignoreNextHistoryUpdate = true;\n init.history.go(delta * -1);\n\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location,\n });\n // Re-do the same POP navigation we just blocked\n init.history.go(delta);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(router.state.blockers) });\n },\n });\n return;\n }\n\n return startNavigation(historyAction, location);\n }\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial<RouterState>): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial<Omit<RouterState, \"action\" | \"location\" | \"navigation\">>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a mutation submission\n // - We're past the submitting state and into the loading state\n // - The location being loaded is not the result of a redirect\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n state.navigation.state === \"loading\" &&\n location.state?._isRedirect !== true;\n\n let actionData: RouteData | null;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n // Empty actionData -> clear prior actionData due to an action error\n actionData = null;\n }\n } else if (isActionReload) {\n // Keep the current data if we're wrapping up the action reload\n actionData = state.actionData;\n } else {\n // Clear actionData on any other completed navigations\n actionData = null;\n }\n\n // Always preserve any existing loaderData from re-used routes\n let loaderData = newState.loaderData\n ? mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || [],\n newState.errors\n )\n : state.loaderData;\n\n // On a successful navigation we can assume we got through all blockers\n // so we can start fresh\n for (let [key] of blockerFunctions) {\n deleteBlocker(key);\n }\n\n // Always respect the user flag. Otherwise don't reset on mutation\n // submission navigations unless they redirect\n let preventScrollReset =\n pendingPreventScrollReset === true ||\n (state.navigation.formMethod != null &&\n isMutationMethod(state.navigation.formMethod) &&\n location.state?._isRedirect !== true);\n\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = undefined;\n }\n\n updateState({\n ...newState, // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(\n location,\n newState.matches || state.matches\n ),\n preventScrollReset,\n blockers: new Map(state.blockers),\n });\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To,\n opts?: RouterNavigateOptions\n ): Promise<void> {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(to, opts);\n\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation),\n };\n\n let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n\n let historyAction = HistoryAction.Push;\n\n if (userReplace === true) {\n historyAction = HistoryAction.Replace;\n } else if (userReplace === false) {\n // no-op\n } else if (\n submission != null &&\n isMutationMethod(submission.formMethod) &&\n submission.formAction === state.location.pathname + state.location.search\n ) {\n // By default on submissions to the current location we REPLACE so that\n // users don't have to double-click the back button to get to the prior\n // location. If the user redirects to a different location from the\n // action/loader this will be ignored and the redirect will be a PUSH\n historyAction = HistoryAction.Replace;\n }\n\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n });\n if (blockerKey) {\n // Put the blocker into a blocked state\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey!, {\n state: \"proceeding\",\n proceed: undefined,\n reset: undefined,\n location: nextLocation,\n });\n // Send the same navigation through\n navigate(to, opts);\n },\n reset() {\n deleteBlocker(blockerKey!);\n updateState({ blockers: new Map(state.blockers) });\n },\n });\n return;\n }\n\n return await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise<void> {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(routesToUse, location, init.basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(routesToUse);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change and not a mutation submission\n // For example, on /page#hash and submit a <Form method=\"post\"> which will\n // default to a navigation to /page\n if (\n isHashChangeOnly(state.location, location) &&\n !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))\n ) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(\n init.history,\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (\n opts &&\n opts.submission &&\n isMutationMethod(opts.submission.formMethod)\n ) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n ...opts.submission,\n };\n loadingNavigation = navigation;\n\n // Create a GET request for the loaders\n request = new Request(request.url, { signal: request.signal });\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts?: { replace?: boolean }\n ): Promise<HandleActionResult> {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n ...submission,\n };\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action) {\n result = {\n type: ResultType.error,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id,\n }),\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n router.basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let replace: boolean;\n if (opts && opts.replace != null) {\n replace = opts.replace;\n } else {\n // If the user didn't explicity indicate replace behavior, replace if\n // we redirected to the exact same location we're currently at to avoid\n // double back-buttons\n replace =\n result.location === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(state, result, { submission, replace });\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n // Send back an empty object we can use to clear out any prior actionData\n pendingActionData: {},\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise<HandleLoadersResult> {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation;\n if (!loadingNavigation) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n };\n loadingNavigation = navigation;\n }\n\n // If this was a redirect from an action we don't have a \"submission\" but\n // we have it on the loading navigation so use that if available\n let activeSubmission = submission\n ? submission\n : loadingNavigation.formMethod &&\n loadingNavigation.formAction &&\n loadingNavigation.formData &&\n loadingNavigation.formEncType\n ? {\n formMethod: loadingNavigation.formMethod,\n formAction: loadingNavigation.formAction,\n formData: loadingNavigation.formData,\n formEncType: loadingNavigation.formEncType,\n }\n : undefined;\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n activeSubmission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n pendingActionData,\n pendingError\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n ...(pendingActionData ? { actionData: pendingActionData } : {}),\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach((rf) => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: fetcher && fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n let actionData = pendingActionData || state.actionData;\n updateState({\n navigation: loadingNavigation,\n ...(actionData\n ? Object.keys(actionData).length === 0\n ? { actionData: null }\n : { actionData }\n : {}),\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach((rf) =>\n fetchControllers.set(rf.key, pendingNavigationController!)\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n revalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n await startRedirectNavigation(state, redirect, { replace });\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n\n return {\n loaderData,\n errors,\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n };\n }\n\n function getFetcher<TData = any>(key: string): Fetcher<TData> {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = matchRoutes(routesToUse, href, init.basename);\n if (!matches) {\n setFetcherError(\n key,\n routeId,\n getInternalRouterError(404, { pathname: href })\n );\n return;\n }\n\n let { path, submission } = normalizeNavigateOptions(href, opts, true);\n let match = getTargetMatch(matches, path);\n\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n if (submission && isMutationMethod(submission.formMethod)) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, { routeId, path });\n handleFetcherLoader(key, routeId, path, match, matches, submission);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId: routeId,\n });\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal,\n submission\n );\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n router.basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n ...submission,\n data: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n return startRedirectNavigation(state, actionResult, {\n isFetchActionRedirect: true,\n });\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n throw getInternalRouterError(400, { type: \"defer-action\" });\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(\n init.history,\n\n nextLocation,\n abortController.signal\n );\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(routesToUse, state.navigation.location, init.basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: actionResult.data,\n ...submission,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n init.history,\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n fetchLoadMatches,\n routesToUse,\n init.basename,\n { [match.route.id]: actionResult.data },\n undefined // No need to send through errors since we short circuit above\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter((rf) => rf.key !== key)\n .forEach((rf) => {\n let staleKey = rf.key;\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: existingFetcher && existingFetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(staleKey, revalidatingFetcher);\n fetchControllers.set(staleKey, abortController);\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\n let redirect = findRedirect(results);\n if (redirect) {\n return startRedirectNavigation(state, redirect);\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: actionResult.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(\n state.loaderData,\n loaderData,\n matches,\n errors\n ),\n ...(didAbortFetchLoads ? { fetchers: new Map(state.fetchers) } : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n submission?: Submission\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n ...submission,\n data: existingFetcher && existingFetcher.data,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(\n init.history,\n path,\n abortController.signal\n );\n fetchControllers.set(key, abortController);\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n router.basename\n );\n\n // Deferred isn't supported for fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n await startRedirectNavigation(state, result);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n state: RouterState,\n redirect: RedirectResult,\n {\n submission,\n replace,\n isFetchActionRedirect,\n }: {\n submission?: Submission;\n replace?: boolean;\n isFetchActionRedirect?: boolean;\n } = {}\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n\n let redirectLocation = createLocation(\n state.location,\n redirect.location,\n // TODO: This can be removed once we get rid of useTransition in Remix v2\n {\n _isRedirect: true,\n ...(isFetchActionRedirect ? { _isFetchActionRedirect: true } : {}),\n }\n );\n invariant(\n redirectLocation,\n \"Expected a location on the redirect navigation\"\n );\n // Check if this an absolute external redirect that goes to a new origin\n if (\n ABSOLUTE_URL_REGEX.test(redirect.location) &&\n isBrowser &&\n typeof window?.location !== \"undefined\"\n ) {\n let url = init.history.createURL(redirect.location);\n let isDifferentBasename =\n stripBasename(url.pathname, init.basename || \"/\") == null;\n\n if (window.location.origin !== url.origin || isDifferentBasename) {\n if (replace) {\n window.location.replace(redirect.location);\n } else {\n window.location.assign(redirect.location);\n }\n return;\n }\n }\n\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n // Use the incoming submission if provided, fallback on the active one in\n // state.navigation\n let { formMethod, formAction, formEncType, formData } = state.navigation;\n if (!submission && formMethod && formAction && formData && formEncType) {\n submission = {\n formMethod,\n formAction,\n formEncType,\n formData,\n };\n }\n\n // If this was a 307/308 submission we want to preserve the HTTP method and\n // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n // redirected location\n if (\n redirectPreserveMethodStatusCodes.has(redirect.status) &&\n submission &&\n isMutationMethod(submission.formMethod)\n ) {\n await startNavigation(redirectHistoryAction, redirectLocation, {\n submission: {\n ...submission,\n formAction: redirect.location,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n } else {\n // Otherwise, we kick off a new loading navigation, preserving the\n // submission info for the duration of this navigation\n await startNavigation(redirectHistoryAction, redirectLocation, {\n overrideNavigation: {\n state: \"loading\",\n location: redirectLocation,\n formMethod: submission ? submission.formMethod : undefined,\n formAction: submission ? submission.formAction : undefined,\n formEncType: submission ? submission.formEncType : undefined,\n formData: submission ? submission.formData : undefined,\n },\n // Preserve this flag across redirects\n preventScrollReset: pendingPreventScrollReset,\n });\n }\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\"loader\", request, match, matches, router.basename)\n ),\n ...fetchersToLoad.map((f) => {\n if (f.matches && f.match) {\n return callLoaderOrAction(\n \"loader\",\n createClientSideRequest(init.history, f.path, request.signal),\n f.match,\n f.matches,\n router.basename\n );\n } else {\n let error: ErrorResult = {\n type: ResultType.error,\n error: getInternalRouterError(404, { pathname: f.path }),\n };\n return error;\n }\n }),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n request.signal,\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map((f) => f.match),\n fetcherResults,\n request.signal,\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n if (fetchControllers.has(key)) abortFetcher(key);\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): void {\n let doneKeys = [];\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n }\n }\n markFetchersDone(doneKeys);\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function getBlocker(key: string, fn: BlockerFunction) {\n let blocker: Blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n\n return blocker;\n }\n\n function deleteBlocker(key: string) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n\n // Utility function to update blockers, ensuring valid state transitions\n function updateBlocker(key: string, newBlocker: Blocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\n // Poor mans state machine :)\n // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n invariant(\n (blocker.state === \"unblocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"blocked\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"proceeding\") ||\n (blocker.state === \"blocked\" && newBlocker.state === \"unblocked\") ||\n (blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\"),\n `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`\n );\n\n state.blockers.set(key, newBlocker);\n updateState({ blockers: new Map(state.blockers) });\n }\n\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction,\n }: {\n currentLocation: Location;\n nextLocation: Location;\n historyAction: HistoryAction;\n }): string | undefined {\n if (blockerFunctions.size === 0) {\n return;\n }\n\n // We ony support a single active blocker at the moment since we don't have\n // any compelling use cases for multi-blocker yet\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n\n if (blocker && blocker.state === \"proceeding\") {\n // If the blocker is currently proceeding, we don't need to re-check\n // it and can let this navigation continue\n return;\n }\n\n // At this point, we know we're unblocked/blocked so we need to check the\n // user-provided blocker function\n if (blockerFunction({ currentLocation, nextLocation, historyAction })) {\n return blockerKey;\n }\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the <ScrollRestoration> component\n function enableScrollRestoration(\n positions: Record<string, number>,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || ((location) => location.key);\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n function _internalSetRoutes(newRoutes: AgnosticDataRouteObject[]) {\n inFlightDataRoutes = newRoutes;\n }\n\n router = {\n get basename() {\n return init.basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n encodeLocation: (to: To) => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher,\n dispose,\n getBlocker,\n deleteBlocker,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nexport const UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\n\nexport function createStaticHandler(\n routes: AgnosticRouteObject[],\n opts?: {\n basename?: string;\n }\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to createStaticHandler\"\n );\n\n let dataRoutes = convertRoutesToDataRoutes(routes);\n let basename = (opts ? opts.basename : null) || \"/\";\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request,\n { requestContext }: { requestContext?: unknown } = {}\n ): Promise<StaticHandlerContext | Response> {\n let url = new URL(request.url);\n let method = request.method.toLowerCase();\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"head\") {\n let error = getInternalRouterError(405, { method });\n let { matches: methodNotAllowedMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n } else if (!matches) {\n let error = getInternalRouterError(404, { pathname: location.pathname });\n let { matches: notFoundMatches, route } =\n getShortCircuitMatches(dataRoutes);\n return {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let result = await queryImpl(request, location, matches, requestContext);\n if (isResponse(result)) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, basename, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated Errors that make sense\n * to associate with a status code will be thrown as an ErrorResponse\n * instance which include the raw Error, such that the calling context can\n * serialize the error as they see fit while including the proper response\n * code. Examples here are 404 and 405 errors that occur prior to reaching\n * any user-defined loaders.\n */\n async function queryRoute(\n request: Request,\n {\n routeId,\n requestContext,\n }: { requestContext?: unknown; routeId?: string } = {}\n ): Promise<any> {\n let url = new URL(request.url);\n let method = request.method.toLowerCase();\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n\n // SSR supports HEAD requests while SPA doesn't\n if (!isValidMethod(method) && method !== \"head\" && method !== \"options\") {\n throw getInternalRouterError(405, { method });\n } else if (!matches) {\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId,\n });\n } else if (!match) {\n // This should never hit I don't think?\n throw getInternalRouterError(404, { pathname: location.pathname });\n }\n\n let result = await queryImpl(\n request,\n location,\n matches,\n requestContext,\n match\n );\n if (isResponse(result)) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n\n if (result.loaderData) {\n let data = Object.values(result.loaderData)[0];\n if (result.activeDeferreds?.[match.route.id]) {\n data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n }\n return data;\n }\n\n return undefined;\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (isMutationMethod(request.method.toLowerCase())) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n requestContext,\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(\n request,\n matches,\n requestContext,\n routeMatch\n );\n return isResponse(result)\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n requestContext: unknown,\n isRouteRequest: boolean\n ): Promise<Omit<StaticHandlerContext, \"location\" | \"basename\"> | Response> {\n let result: DataResult;\n\n if (!actionMatch.route.action) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id,\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n basename,\n true,\n isRouteRequest,\n requestContext\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n let error = getInternalRouterError(400, { type: \"defer-action\" });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: ResultType.error,\n error,\n };\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n throw result.error;\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n activeDeferreds: null,\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(\n request,\n matches,\n requestContext,\n undefined,\n {\n [boundaryMatch.route.id]: result.error,\n }\n );\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n // Create a GET request for the loaders\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal,\n });\n let context = await loadRouteData(loaderRequest, matches, requestContext);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n requestContext: unknown,\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit<\n StaticHandlerContext,\n \"location\" | \"basename\" | \"actionData\" | \"actionHeaders\"\n >\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n\n // Short circuit if we have no loaders to run (queryRoute())\n if (isRouteRequest && !routeMatch?.route.loader) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id,\n });\n }\n\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter((m) => m.route.loader);\n\n // Short circuit if we have no loaders to run (query())\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce(\n (acc, m) => Object.assign(acc, { [m.route.id]: null }),\n {}\n ),\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n activeDeferreds: null,\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n basename,\n true,\n isRouteRequest,\n requestContext\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Process and commit output from loaders\n let activeDeferreds = new Map<string, DeferredData>();\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError,\n activeDeferreds\n );\n\n // Add a null for any non-loader matches for proper revalidation on the client\n let executedLoaders = new Set<string>(\n matchesToLoad.map((match) => match.route.id)\n );\n matches.forEach((match) => {\n if (!executedLoaders.has(match.route.id)) {\n context.loaderData[match.route.id] = null;\n }\n });\n\n return {\n ...context,\n matches,\n activeDeferreds:\n activeDeferreds.size > 0\n ? Object.fromEntries(activeDeferreds.entries())\n : null,\n };\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\nfunction isSubmissionNavigation(\n opts: RouterNavigateOptions\n): opts is SubmissionNavigateOptions {\n return opts != null && \"formData\" in opts;\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n to: To,\n opts?: RouterNavigateOptions,\n isFetcher = false\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n let path = typeof to === \"string\" ? to : createPath(to);\n\n // Return location verbatim on non-submission navigations\n if (!opts || !isSubmissionNavigation(opts)) {\n return { path };\n }\n\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, { method: opts.formMethod }),\n };\n }\n\n // Create a Submission on non-GET navigations\n let submission: Submission | undefined;\n if (opts.formData) {\n submission = {\n formMethod: opts.formMethod || \"get\",\n formAction: stripHashFromPath(path),\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData: opts.formData,\n };\n\n if (isMutationMethod(submission.formMethod)) {\n return { path, submission };\n }\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n let searchParams = convertFormDataToSearchParams(opts.formData);\n // Since fetcher GET submissions only run a single loader (as opposed to\n // navigation GET submissions which run all loaders), we need to preserve\n // any incoming ?index params\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n\n return { path: createPath(parsedPath), submission };\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n history: History,\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n fetchLoadMatches: Map<string, FetchLoadMatch>,\n routesToUse: AgnosticDataRouteObject[],\n basename: string | undefined,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : undefined;\n\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n\n let defaultShouldRevalidate =\n // Forced revalidation due to submission, useRevalidate, or X-Remix-Revalidate\n isRevalidationRequired ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.toString() === nextUrl.toString() ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search;\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n\n let navigationMatches = boundaryMatches.filter((match, index) => {\n if (match.route.loader == null) {\n return false;\n }\n\n // Always call the loader on new route instances and pending defer cancellations\n if (\n isNewLoader(state.loaderData, state.matches[index], match) ||\n cancelledDeferredRoutes.some((id) => id === match.route.id)\n ) {\n return true;\n }\n\n // This is the default implementation for when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n defaultShouldRevalidate:\n defaultShouldRevalidate ||\n isNewRouteInstance(currentRouteMatch, nextRouteMatch),\n });\n });\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches.forEach((f, key) => {\n // Don't revalidate if fetcher won't be present in the subsequent render\n if (!matches.some((m) => m.route.id === f.routeId)) {\n return;\n }\n\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n\n // If the fetcher path no longer matches, push it in with null matches so\n // we can trigger a 404 in callLoadersAndMaybeResolveData\n if (!fetcherMatches) {\n revalidatingFetchers.push({ key, ...f, matches: null, match: null });\n return;\n }\n\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\n if (cancelledFetcherLoads.includes(key)) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n return;\n }\n\n // Revalidating fetchers are decoupled from the route matches since they\n // hit a static href, so they _always_ check shouldRevalidate and the\n // default is strictly if a revalidation is explicitly required (action\n // submissions, useRevalidator, X-Remix-Revalidate).\n let shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n defaultShouldRevalidate,\n });\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n matches: fetcherMatches,\n match: fetcherMatch,\n ...f,\n });\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath != null &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n loaderMatch: AgnosticDataRouteMatch,\n arg: Parameters<ShouldRevalidateFunction>[0]\n) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return arg.defaultShouldRevalidate;\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n basename = \"/\",\n isStaticRequest: boolean = false,\n isRouteRequest: boolean = false,\n requestContext?: unknown\n): Promise<DataResult> {\n let resultType;\n let result;\n\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n let onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n try {\n let handler = match.route[type];\n invariant<Function>(\n handler,\n `Could not find the ${type} to run on the \"${match.route.id}\" route`\n );\n\n result = await Promise.race([\n handler({ request, params: match.params, context: requestContext }),\n abortPromise,\n ]);\n\n invariant(\n result !== undefined,\n `You defined ${type === \"action\" ? \"an action\" : \"a loader\"} for route ` +\n `\"${match.route.id}\" but didn't return anything from your \\`${type}\\` ` +\n `function. Please return a value or \\`null\\`.`\n );\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n\n if (isResponse(result)) {\n let status = result.status;\n\n // Process redirects\n if (redirectStatusCodes.has(status)) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in internal redirects\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let activeMatches = matches.slice(0, matches.indexOf(match) + 1);\n let routePathnames = getPathContributingMatches(activeMatches).map(\n (match) => match.pathnameBase\n );\n let resolvedLocation = resolveTo(\n location,\n routePathnames,\n new URL(request.url).pathname\n );\n invariant(\n createPath(resolvedLocation),\n `Unable to resolve redirect location: ${location}`\n );\n\n // Prepend the basename to the redirect location if we have one\n if (basename) {\n let path = resolvedLocation.pathname;\n resolvedLocation.pathname =\n path === \"/\" ? basename : joinPaths([basename, path]);\n }\n\n location = createPath(resolvedLocation);\n } else if (!isStaticRequest) {\n // Strip off the protocol+origin for same-origin + same-basename absolute\n // redirects. If this is a static request, we can let it go back to the\n // browser as-is\n let currentUrl = new URL(request.url);\n let url = location.startsWith(\"//\")\n ? new URL(currentUrl.protocol + location)\n : new URL(location);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n location = url.pathname + url.search + url.hash;\n }\n }\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n // Check between word boundaries instead of startsWith() due to the last\n // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (result instanceof DeferredData) {\n return {\n type: ResultType.deferred,\n deferredData: result,\n statusCode: result.init?.status,\n headers: result.init?.headers && new Headers(result.init.headers),\n };\n }\n\n return { type: ResultType.data, data: result };\n}\n\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches. During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(\n history: History,\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission && isMutationMethod(submission.formMethod)) {\n let { formMethod, formEncType, formData } = submission;\n init.method = formMethod.toUpperCase();\n init.body =\n formEncType === \"application/x-www-form-urlencoded\"\n ? convertFormDataToSearchParams(formData)\n : formData;\n }\n\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n searchParams.append(key, value instanceof File ? value.name : value);\n }\n\n return searchParams;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds: Map<string, DeferredData>\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record<string, Headers>;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record<string, Headers> = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n\n errors = errors || {};\n\n // Prefer higher error values if lower errors bubble to the same boundary\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n\n // Clear our any prior loaderData for the throwing route\n loaderData[id] = undefined;\n\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n if (isDeferredResult(result)) {\n activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n } else {\n loaderData[id] = result.data;\n }\n\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here. Also clear out any loaderData for the\n // throwing route\n if (pendingError) {\n errors = pendingError;\n loaderData[Object.keys(pendingError)[0]] = undefined;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map<string, DeferredData>\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let { key, match } = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n invariant(false, \"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n \" _hasFetcherDoneAnything \": true,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[],\n errors: RouteData | null | undefined\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n for (let match of matches) {\n let id = match.route.id;\n if (newLoaderData.hasOwnProperty(id)) {\n if (newLoaderData[id] !== undefined) {\n mergedLoaderData[id] = newLoaderData[id];\n } else {\n // No-op - this is so we ignore existing data if we have a key in the\n // incoming object with an undefined value, which is how we unset a prior\n // loaderData if we encounter a loader error\n }\n } else if (loaderData[id] !== undefined && match.route.loader) {\n // Preserve existing keys not included in newLoaderData and where a loader\n // wasn't removed by HMR\n mergedLoaderData[id] = loaderData[id];\n }\n\n if (errors && errors.hasOwnProperty(id)) {\n // Don't keep any loader data below the boundary\n break;\n }\n }\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(routes: AgnosticDataRouteObject[]): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n };\n}\n\nfunction getInternalRouterError(\n status: number,\n {\n pathname,\n routeId,\n method,\n type,\n }: {\n pathname?: string;\n routeId?: string;\n method?: string;\n type?: \"defer-action\";\n } = {}\n) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method} request to \"${pathname}\" but ` +\n `did not provide a \\`loader\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (type === \"defer-action\") {\n errorMessage = \"defer() is not supported in actions\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage =\n `You made a ${method.toUpperCase()} request to \"${pathname}\" but ` +\n `did not provide an \\`action\\` for route \"${routeId}\", ` +\n `so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n\n return new ErrorResponse(\n status || 500,\n statusText,\n new Error(errorMessage),\n true\n );\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n return (\n a.pathname === b.pathname && a.search === b.search && a.hash !== b.hash\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nfunction isResponse(value: any): value is Response {\n return (\n value != null &&\n typeof value.status === \"number\" &&\n typeof value.statusText === \"string\" &&\n typeof value.headers === \"object\" &&\n typeof value.body !== \"undefined\"\n );\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!isResponse(result)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n isResponse(obj.response) &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nfunction isValidMethod(method: string): method is FormMethod {\n return validRequestMethods.has(method as FormMethod);\n}\n\nfunction isMutationMethod(method?: string): method is MutationFormMethod {\n return validMutationMethods.has(method as MutationFormMethod);\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: (AgnosticDataRouteMatch | null)[],\n results: DataResult[],\n signal: AbortSignal,\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n // If we don't have a match, then we can have a deferred result to do\n // anything with. This is for revalidating fetchers where the route was\n // removed during HMR\n if (!match) {\n continue;\n }\n\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match!.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise<SuccessResult | ErrorResult | undefined> {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n//#endregion\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\";\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction isPolyfill(x: any, y: any) {\n return (\n (x === y && (x !== 0 || 1 / x === 1 / y)) || (x !== x && y !== y) // eslint-disable-line no-self-compare\n );\n}\n\nconst is: (x: any, y: any) => boolean =\n typeof Object.is === \"function\" ? Object.is : isPolyfill;\n\n// Intentionally not using named imports because Rollup uses dynamic\n// dispatch for CommonJS interop named imports.\nconst { useState, useEffect, useLayoutEffect, useDebugValue } = React;\n\nlet didWarnOld18Alpha = false;\nlet didWarnUncachedGetSnapshot = false;\n\n// Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\nexport function useSyncExternalStore<T>(\n subscribe: (fn: () => void) => () => void,\n getSnapshot: () => T,\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n getServerSnapshot?: () => T\n): T {\n if (__DEV__) {\n if (!didWarnOld18Alpha) {\n if (\"startTransition\" in React) {\n didWarnOld18Alpha = true;\n console.error(\n \"You are using an outdated, pre-release alpha of React 18 that \" +\n \"does not support useSyncExternalStore. The \" +\n \"use-sync-external-store shim will not work correctly. Upgrade \" +\n \"to a newer pre-release.\"\n );\n }\n }\n }\n\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n const value = getSnapshot();\n if (__DEV__) {\n if (!didWarnUncachedGetSnapshot) {\n const cachedValue = getSnapshot();\n if (!is(value, cachedValue)) {\n console.error(\n \"The result of getSnapshot should be cached to avoid an infinite loop\"\n );\n didWarnUncachedGetSnapshot = true;\n }\n }\n }\n\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n const [{ inst }, forceUpdate] = useState({ inst: { value, getSnapshot } });\n\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n useLayoutEffect(() => {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n\n useEffect(() => {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n const handleStoreChange = () => {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst });\n }\n };\n // Subscribe to the store and return a clean-up function.\n return subscribe(handleStoreChange);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst: any) {\n const latestGetSnapshot = inst.getSnapshot;\n const prevValue = inst.value;\n try {\n const nextValue = latestGetSnapshot();\n return !is(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n","/**\n * Inlined into the react-router repo since use-sync-external-store does not\n * provide a UMD-compatible package, so we need this to be able to distribute\n * UMD react-router bundles\n */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n */\n\nimport * as React from \"react\";\n\nimport { useSyncExternalStore as client } from \"./useSyncExternalStoreShimClient\";\nimport { useSyncExternalStore as server } from \"./useSyncExternalStoreShimServer\";\n\nconst canUseDOM: boolean = !!(\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\"\n);\nconst isServerEnvironment = !canUseDOM;\nconst shim = isServerEnvironment ? server : client;\n\nexport const useSyncExternalStore =\n \"useSyncExternalStore\" in React\n ? ((module) => module.useSyncExternalStore)(React)\n : shim;\n","import * as React from \"react\";\nimport type {\n AgnosticRouteMatch,\n AgnosticIndexRouteObject,\n AgnosticNonIndexRouteObject,\n History,\n Location,\n Router,\n StaticHandlerContext,\n To,\n TrackedPromise,\n} from \"@remix-run/router\";\nimport type { Action as NavigationType } from \"@remix-run/router\";\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nexport interface IndexRouteObject {\n caseSensitive?: AgnosticIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticIndexRouteObject[\"path\"];\n id?: AgnosticIndexRouteObject[\"id\"];\n loader?: AgnosticIndexRouteObject[\"loader\"];\n action?: AgnosticIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticIndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface NonIndexRouteObject {\n caseSensitive?: AgnosticNonIndexRouteObject[\"caseSensitive\"];\n path?: AgnosticNonIndexRouteObject[\"path\"];\n id?: AgnosticNonIndexRouteObject[\"id\"];\n loader?: AgnosticNonIndexRouteObject[\"loader\"];\n action?: AgnosticNonIndexRouteObject[\"action\"];\n hasErrorBoundary?: AgnosticNonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: AgnosticNonIndexRouteObject[\"shouldRevalidate\"];\n handle?: AgnosticNonIndexRouteObject[\"handle\"];\n index?: false;\n children?: RouteObject[];\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteObject = IndexRouteObject | NonIndexRouteObject;\n\nexport type DataRouteObject = RouteObject & {\n children?: DataRouteObject[];\n id: string;\n};\n\nexport interface RouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends RouteObject = RouteObject\n> extends AgnosticRouteMatch<ParamKey, RouteObjectType> {}\n\nexport interface DataRouteMatch extends RouteMatch<string, DataRouteObject> {}\n\nexport interface DataRouterContextObject extends NavigationContextObject {\n router: Router;\n staticContext?: StaticHandlerContext;\n}\n\nexport const DataRouterContext =\n React.createContext<DataRouterContextObject | null>(null);\nif (__DEV__) {\n DataRouterContext.displayName = \"DataRouter\";\n}\n\nexport const DataRouterStateContext = React.createContext<\n Router[\"state\"] | null\n>(null);\nif (__DEV__) {\n DataRouterStateContext.displayName = \"DataRouterState\";\n}\n\nexport const AwaitContext = React.createContext<TrackedPromise | null>(null);\nif (__DEV__) {\n AwaitContext.displayName = \"Await\";\n}\n\nexport type RelativeRoutingType = \"route\" | \"path\";\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level <Router> API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport interface Navigator {\n createHref: History[\"createHref\"];\n // Optional for backwards-compat with Router/HistoryRouter usage (edge case)\n encodeLocation?: History[\"encodeLocation\"];\n go: History[\"go\"];\n push(to: To, state?: any, opts?: NavigateOptions): void;\n replace(to: To, state?: any, opts?: NavigateOptions): void;\n}\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nexport const NavigationContext = React.createContext<NavigationContextObject>(\n null!\n);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nexport const LocationContext = React.createContext<LocationContextObject>(\n null!\n);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\nexport interface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nexport const RouteContext = React.createContext<RouteContextObject>({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\nexport const RouteErrorContext = React.createContext<any>(null);\n\nif (__DEV__) {\n RouteErrorContext.displayName = \"RouteError\";\n}\n","import * as React from \"react\";\nimport type {\n Blocker,\n BlockerFunction,\n Location,\n ParamParseKey,\n Params,\n Path,\n PathMatch,\n PathPattern,\n Router as RemixRouter,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n UNSAFE_invariant as invariant,\n isRouteErrorResponse,\n joinPaths,\n matchPath,\n matchRoutes,\n parsePath,\n resolveTo,\n warning,\n UNSAFE_getPathContributingMatches as getPathContributingMatches,\n} from \"@remix-run/router\";\n\nimport type {\n NavigateOptions,\n RouteContextObject,\n RouteMatch,\n RouteObject,\n DataRouteMatch,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n DataRouterContext,\n DataRouterStateContext,\n LocationContext,\n NavigationContext,\n RouteContext,\n RouteErrorContext,\n AwaitContext,\n} from \"./context\";\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nexport function useHref(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to, { relative });\n\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname =\n pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a <Router>.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a <Router> component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * <NavLink>.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nexport function useMatch<\n ParamKey extends ParamParseKey<Path>,\n Path extends string\n>(pattern: PathPattern<Path> | Path): PathMatch<ParamKey> | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a <Router> component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath<ParamKey, Path>(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by <Link>s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a <Router> component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n options.relative === \"path\"\n );\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history. If this is a root navigation, then we\n // navigate to the raw basename which allows the basename to have full\n // control over the presence of a trailing slash on root links\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\"\n ? basename\n : joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state,\n options\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext<unknown>(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nexport function useOutletContext<Context = unknown>(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by <Outlet> to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n <OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nexport function useParams<\n ParamsOrKey extends string | Record<string, string | undefined> = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params<ParamsOrKey> : Partial<ParamsOrKey>\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nexport function useResolvedPath(\n to: To,\n { relative }: { relative?: RelativeRoutingType } = {}\n): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n getPathContributingMatches(matches).map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () =>\n resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname,\n relative === \"path\"\n ),\n [to, routePathnamesJson, locationPathname, relative]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an <Outlet> to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial<Location> | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a <Router> component.`\n );\n\n let { navigator } = React.useContext(NavigationContext);\n let dataRouterStateContext = React.useContext(DataRouterStateContext);\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different <Routes> under a <Route>\n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // <Routes>\n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // <Route path=\"blog\" element={<Blog />} />\n // <Route path=\"blog/feed\" element={<BlogFeed />} />\n // </Routes>\n //\n // function Blog() {\n // return (\n // <Routes>\n // <Route path=\"post/:id\" element={<Post />} />\n // </Routes>\n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant <Routes> (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under <Route path=\"${parentPath}\">) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent <Route path=\"${parentPath}\"> to <Route ` +\n `path=\"${parentPath === \"/\" ? \"*\" : `${parentPath}/*`}\">.`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`<Routes location>\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an <Outlet /> with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n let renderedMatches = _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathname).pathname\n : match.pathname,\n ]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([\n parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation\n ? navigator.encodeLocation(match.pathnameBase).pathname\n : match.pathnameBase,\n ]),\n })\n ),\n parentMatches,\n dataRouterStateContext || undefined\n );\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return (\n <LocationContext.Provider\n value={{\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location,\n },\n navigationType: NavigationType.Pop,\n }}\n >\n {renderedMatches}\n </LocationContext.Provider>\n );\n }\n\n return renderedMatches;\n}\n\nfunction DefaultErrorElement() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error)\n ? `${error.status} ${error.statusText}`\n : error instanceof Error\n ? error.message\n : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = { padding: \"0.5rem\", backgroundColor: lightgrey };\n let codeStyles = { padding: \"2px 4px\", backgroundColor: lightgrey };\n\n let devInfo = null;\n if (__DEV__) {\n devInfo = (\n <>\n <p>💿 Hey developer 👋</p>\n <p>\n You can provide a way better UX than this when your app throws errors\n by providing your own \n <code style={codeStyles}>errorElement</code> props on \n <code style={codeStyles}><Route></code>\n </p>\n </>\n );\n }\n\n return (\n <>\n <h2>Unexpected Application Error!</h2>\n <h3 style={{ fontStyle: \"italic\" }}>{message}</h3>\n {stack ? <pre style={preStyles}>{stack}</pre> : null}\n {devInfo}\n </>\n );\n}\n\ntype RenderErrorBoundaryProps = React.PropsWithChildren<{\n location: Location;\n error: any;\n component: React.ReactNode;\n routeContext: RouteContextObject;\n}>;\n\ntype RenderErrorBoundaryState = {\n location: Location;\n error: any;\n};\n\nexport class RenderErrorBoundary extends React.Component<\n RenderErrorBoundaryProps,\n RenderErrorBoundaryState\n> {\n constructor(props: RenderErrorBoundaryProps) {\n super(props);\n this.state = {\n location: props.location,\n error: props.error,\n };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error: error };\n }\n\n static getDerivedStateFromProps(\n props: RenderErrorBoundaryProps,\n state: RenderErrorBoundaryState\n ) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location) {\n return {\n error: props.error,\n location: props.location,\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error || state.error,\n location: state.location,\n };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"React Router caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n return this.state.error ? (\n <RouteContext.Provider value={this.props.routeContext}>\n <RouteErrorContext.Provider\n value={this.state.error}\n children={this.props.component}\n />\n </RouteContext.Provider>\n ) : (\n this.props.children\n );\n }\n}\n\ninterface RenderedRouteProps {\n routeContext: RouteContextObject;\n match: RouteMatch<string, RouteObject>;\n children: React.ReactNode | null;\n}\n\nfunction RenderedRoute({ routeContext, match, children }: RenderedRouteProps) {\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (\n dataRouterContext &&\n dataRouterContext.static &&\n dataRouterContext.staticContext &&\n match.route.errorElement\n ) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n\n return (\n <RouteContext.Provider value={routeContext}>\n {children}\n </RouteContext.Provider>\n );\n}\n\nexport function _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = [],\n dataRouterState?: RemixRouter[\"state\"]\n): React.ReactElement | null {\n if (matches == null) {\n if (dataRouterState?.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches as DataRouteMatch[];\n } else {\n return null;\n }\n }\n\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(\n (m) => m.route.id && errors?.[m.route.id]\n );\n invariant(\n errorIndex >= 0,\n `Could not find a matching route for the current errors: ${errors}`\n );\n renderedMatches = renderedMatches.slice(\n 0,\n Math.min(renderedMatches.length, errorIndex + 1)\n );\n }\n\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error = match.route.id ? errors?.[match.route.id] : null;\n // Only data routers handle errors\n let errorElement = dataRouterState\n ? match.route.errorElement || <DefaultErrorElement />\n : null;\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => (\n <RenderedRoute match={match} routeContext={{ outlet, matches }}>\n {error\n ? errorElement\n : match.route.element !== undefined\n ? match.route.element\n : outlet}\n </RenderedRoute>\n );\n // Only wrap in an error boundary within data router usages when we have an\n // errorElement on this route. Otherwise let it bubble up to an ancestor\n // errorElement\n return dataRouterState && (match.route.errorElement || index === 0) ? (\n <RenderErrorBoundary\n location={dataRouterState.location}\n component={errorElement}\n error={error}\n children={getChildren()}\n routeContext={{ outlet: null, matches }}\n />\n ) : (\n getChildren()\n );\n }, null as React.ReactElement | null);\n}\n\nenum DataRouterHook {\n UseBlocker = \"useBlocker\",\n UseRevalidator = \"useRevalidator\",\n}\n\nenum DataRouterStateHook {\n UseLoaderData = \"useLoaderData\",\n UseActionData = \"useActionData\",\n UseRouteError = \"useRouteError\",\n UseNavigation = \"useNavigation\",\n UseRouteLoaderData = \"useRouteLoaderData\",\n UseMatches = \"useMatches\",\n UseRevalidator = \"useRevalidator\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\nfunction useRouteContext(hookName: DataRouterStateHook) {\n let route = React.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\n\nfunction useCurrentRouteId(hookName: DataRouterStateHook) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(\n thisRoute.route.id,\n `${hookName} can only be used on routes that contain a unique \"id\"`\n );\n return thisRoute.route.id;\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nexport function useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nexport function useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return {\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation,\n };\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nexport function useMatches() {\n let { matches, loaderData } = useDataRouterState(\n DataRouterStateHook.UseMatches\n );\n return React.useMemo(\n () =>\n matches.map((match) => {\n let { pathname, params } = match;\n // Note: This structure matches that created by createUseMatchesMatch\n // in the @remix-run/router , so if you change this please also change\n // that :) Eventually we'll DRY this up\n return {\n id: match.route.id,\n pathname,\n params,\n data: loaderData[match.route.id] as unknown,\n handle: match.route.handle as unknown,\n };\n }),\n [matches, loaderData]\n );\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nexport function useLoaderData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n\n if (state.errors && state.errors[routeId] != null) {\n console.error(\n `You cannot \\`useLoaderData\\` in an errorElement (routeId: ${routeId})`\n );\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nexport function useRouteLoaderData(routeId: string): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nexport function useActionData(): unknown {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useActionData must be used inside a RouteContext`);\n\n return Object.values(state?.actionData || {})[0];\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * errorElement to display a proper error message.\n */\nexport function useRouteError(): unknown {\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return state.errors?.[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor <Await /> value\n */\nexport function useAsyncValue(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._data;\n}\n\n/**\n * Returns the error from the nearest ancestor <Await /> value\n */\nexport function useAsyncError(): unknown {\n let value = React.useContext(AwaitContext);\n return value?._error;\n}\n\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nexport function useBlocker(shouldBlock: boolean | BlockerFunction): Blocker {\n let { router } = useDataRouterContext(DataRouterHook.UseBlocker);\n let [blockerKey] = React.useState(() => String(++blockerId));\n\n let blockerFunction = React.useCallback<BlockerFunction>(\n (args) => {\n return typeof shouldBlock === \"function\"\n ? !!shouldBlock(args)\n : !!shouldBlock;\n },\n [shouldBlock]\n );\n\n let blocker = router.getBlocker(blockerKey, blockerFunction);\n\n // Cleanup on unmount\n React.useEffect(\n () => () => router.deleteBlocker(blockerKey),\n [router, blockerKey]\n );\n\n return blocker;\n}\n\nconst alreadyWarned: Record<string, boolean> = {};\n\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n","import * as React from \"react\";\nimport type {\n TrackedPromise,\n InitialEntry,\n Location,\n MemoryHistory,\n Router as RemixRouter,\n RouterState,\n To,\n} from \"@remix-run/router\";\nimport {\n Action as NavigationType,\n AbortedDeferredError,\n createMemoryHistory,\n UNSAFE_invariant as invariant,\n parsePath,\n stripBasename,\n warning,\n} from \"@remix-run/router\";\nimport { useSyncExternalStore as useSyncExternalStoreShim } from \"./use-sync-external-store-shim\";\n\nimport type {\n DataRouteObject,\n IndexRouteObject,\n RouteMatch,\n RouteObject,\n Navigator,\n NonIndexRouteObject,\n RelativeRoutingType,\n} from \"./context\";\nimport {\n LocationContext,\n NavigationContext,\n DataRouterContext,\n DataRouterStateContext,\n AwaitContext,\n} from \"./context\";\nimport {\n useAsyncValue,\n useInRouterContext,\n useNavigate,\n useOutlet,\n useRoutes,\n _renderMatches,\n} from \"./hooks\";\n\nexport interface RouterProviderProps {\n fallbackElement?: React.ReactNode;\n router: RemixRouter;\n}\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nexport function RouterProvider({\n fallbackElement,\n router,\n}: RouterProviderProps): React.ReactElement {\n // Sync router state to our component state to force re-renders\n let state: RouterState = useSyncExternalStoreShim(\n router.subscribe,\n () => router.state,\n // We have to provide this so React@18 doesn't complain during hydration,\n // but we pass our serialized hydration data into the router so state here\n // is already synced with what the server saw\n () => router.state\n );\n\n let navigator = React.useMemo((): Navigator => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: (n) => router.navigate(n),\n push: (to, state, opts) =>\n router.navigate(to, {\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n replace: (to, state, opts) =>\n router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts?.preventScrollReset,\n }),\n };\n }, [router]);\n\n let basename = router.basename || \"/\";\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a <script> here\n // containing the hydrated server-side staticContext (from StaticRouterProvider).\n // useId relies on the component tree structure to generate deterministic id's\n // so we need to ensure it remains the same on the client even though\n // we don't need the <script> tag\n return (\n <>\n <DataRouterContext.Provider\n value={{\n router,\n navigator,\n static: false,\n // Do we need this?\n basename,\n }}\n >\n <DataRouterStateContext.Provider value={state}>\n <Router\n basename={router.basename}\n location={router.state.location}\n navigationType={router.state.historyAction}\n navigator={navigator}\n >\n {router.state.initialized ? <Routes /> : fallbackElement}\n </Router>\n </DataRouterStateContext.Provider>\n </DataRouterContext.Provider>\n {null}\n </>\n );\n}\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A <Router> that stores all entries in memory.\n *\n * @see https://reactrouter.com/router-components/memory-router\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef<MemoryHistory>();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true,\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n relative?: RelativeRoutingType;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/components/navigate\n */\nexport function Navigate({\n to,\n replace,\n state,\n relative,\n}: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n `<Navigate> may be used only in the context of a <Router> component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n `<Navigate> must not be used on the initial render in a <StaticRouter>. ` +\n `This is a no-op, but you should modify your code so the <Navigate> is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let dataRouterState = React.useContext(DataRouterStateContext);\n let navigate = useNavigate();\n\n React.useEffect(() => {\n // Avoid kicking off multiple navigations if we're in the middle of a\n // data-router navigation, since components get re-rendered when we enter\n // a submitting/loading state\n if (dataRouterState && dataRouterState.navigation.state !== \"idle\") {\n return;\n }\n navigate(to, { replace, state, relative });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/components/outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface PathRouteProps {\n caseSensitive?: NonIndexRouteObject[\"caseSensitive\"];\n path?: NonIndexRouteObject[\"path\"];\n id?: NonIndexRouteObject[\"id\"];\n loader?: NonIndexRouteObject[\"loader\"];\n action?: NonIndexRouteObject[\"action\"];\n hasErrorBoundary?: NonIndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: NonIndexRouteObject[\"shouldRevalidate\"];\n handle?: NonIndexRouteObject[\"handle\"];\n index?: false;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport interface LayoutRouteProps extends PathRouteProps {}\n\nexport interface IndexRouteProps {\n caseSensitive?: IndexRouteObject[\"caseSensitive\"];\n path?: IndexRouteObject[\"path\"];\n id?: IndexRouteObject[\"id\"];\n loader?: IndexRouteObject[\"loader\"];\n action?: IndexRouteObject[\"action\"];\n hasErrorBoundary?: IndexRouteObject[\"hasErrorBoundary\"];\n shouldRevalidate?: IndexRouteObject[\"shouldRevalidate\"];\n handle?: IndexRouteObject[\"handle\"];\n index: true;\n children?: undefined;\n element?: React.ReactNode | null;\n errorElement?: React.ReactNode | null;\n}\n\nexport type RouteProps = PathRouteProps | LayoutRouteProps | IndexRouteProps;\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/components/route\n */\nexport function Route(_props: RouteProps): React.ReactElement | null {\n invariant(\n false,\n `A <Route> is only ever to be used as the child of <Routes> element, ` +\n `never rendered directly. Please wrap your <Route> in a <Routes>.`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial<Location> | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a <Router> directly. Instead, you'll render a\n * router that is more specific to your environment such as a <BrowserRouter>\n * in web browsers or a <StaticRouter> for server rendering.\n *\n * @see https://reactrouter.com/router-components/router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a <Router> inside another <Router>.` +\n ` You should never have more than one in your app.`\n );\n\n // Preserve trailing slashes on basename, so we can let the user control\n // the enforcement of trailing slashes throughout the app\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n `<Router basename=\"${basename}\"> is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the <Router> won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n <NavigationContext.Provider value={navigationContext}>\n <LocationContext.Provider\n children={children}\n value={{ location, navigationType }}\n />\n </NavigationContext.Provider>\n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial<Location> | string;\n}\n\n/**\n * A container for a nested tree of <Route> elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/components/routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n let dataRouterContext = React.useContext(DataRouterContext);\n // When in a DataRouterContext _without_ children, we use the router routes\n // directly. If we have children, then we're in a descendant tree and we\n // need to use child routes.\n let routes =\n dataRouterContext && !children\n ? (dataRouterContext.router.routes as DataRouteObject[])\n : createRoutesFromChildren(children);\n return useRoutes(routes, location);\n}\n\nexport interface AwaitResolveRenderFunction {\n (data: Awaited<any>): React.ReactNode;\n}\n\nexport interface AwaitProps {\n children: React.ReactNode | AwaitResolveRenderFunction;\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}\n\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nexport function Await({ children, errorElement, resolve }: AwaitProps) {\n return (\n <AwaitErrorBoundary resolve={resolve} errorElement={errorElement}>\n <ResolveAwait>{children}</ResolveAwait>\n </AwaitErrorBoundary>\n );\n}\n\ntype AwaitErrorBoundaryProps = React.PropsWithChildren<{\n errorElement?: React.ReactNode;\n resolve: TrackedPromise | any;\n}>;\n\ntype AwaitErrorBoundaryState = {\n error: any;\n};\n\nenum AwaitRenderStatus {\n pending,\n success,\n error,\n}\n\nconst neverSettledPromise = new Promise(() => {});\n\nclass AwaitErrorBoundary extends React.Component<\n AwaitErrorBoundaryProps,\n AwaitErrorBoundaryState\n> {\n constructor(props: AwaitErrorBoundaryProps) {\n super(props);\n this.state = { error: null };\n }\n\n static getDerivedStateFromError(error: any) {\n return { error };\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n console.error(\n \"<Await> caught the following error during render\",\n error,\n errorInfo\n );\n }\n\n render() {\n let { children, errorElement, resolve } = this.props;\n\n let promise: TrackedPromise | null = null;\n let status: AwaitRenderStatus = AwaitRenderStatus.pending;\n\n if (!(resolve instanceof Promise)) {\n // Didn't get a promise - provide as a resolved promise\n status = AwaitRenderStatus.success;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_data\", { get: () => resolve });\n } else if (this.state.error) {\n // Caught a render error, provide it as a rejected promise\n status = AwaitRenderStatus.error;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n Object.defineProperty(promise, \"_error\", { get: () => renderError });\n } else if ((resolve as TrackedPromise)._tracked) {\n // Already tracked promise - check contents\n promise = resolve;\n status =\n promise._error !== undefined\n ? AwaitRenderStatus.error\n : promise._data !== undefined\n ? AwaitRenderStatus.success\n : AwaitRenderStatus.pending;\n } else {\n // Raw (untracked) promise - track it\n status = AwaitRenderStatus.pending;\n Object.defineProperty(resolve, \"_tracked\", { get: () => true });\n promise = resolve.then(\n (data: any) =>\n Object.defineProperty(resolve, \"_data\", { get: () => data }),\n (error: any) =>\n Object.defineProperty(resolve, \"_error\", { get: () => error })\n );\n }\n\n if (\n status === AwaitRenderStatus.error &&\n promise._error instanceof AbortedDeferredError\n ) {\n // Freeze the UI by throwing a never resolved promise\n throw neverSettledPromise;\n }\n\n if (status === AwaitRenderStatus.error && !errorElement) {\n // No errorElement, throw to the nearest route-level error boundary\n throw promise._error;\n }\n\n if (status === AwaitRenderStatus.error) {\n // Render via our errorElement\n return <AwaitContext.Provider value={promise} children={errorElement} />;\n }\n\n if (status === AwaitRenderStatus.success) {\n // Render children with resolved value\n return <AwaitContext.Provider value={promise} children={children} />;\n }\n\n // Throw to the suspense boundary\n throw promise;\n }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on <Await>\n */\nfunction ResolveAwait({\n children,\n}: {\n children: React.ReactNode | AwaitResolveRenderFunction;\n}) {\n let data = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data) : children;\n return <>{toRender}</>;\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/utils/create-routes-from-children\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode,\n parentPath: number[] = []\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element, index) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children, parentPath)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`\n );\n\n invariant(\n !element.props.index || !element.props.children,\n \"An index route cannot have child routes.\"\n );\n\n let treePath = [...parentPath, index];\n let route: RouteObject = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n errorElement: element.props.errorElement,\n hasErrorBoundary: element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(\n element.props.children,\n treePath\n );\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\n/**\n * @private\n * Walk the route tree and add hasErrorBoundary if it's not provided, so that\n * users providing manual route arrays can just specify errorElement\n */\nexport function enhanceManualRouteObjects(\n routes: RouteObject[]\n): RouteObject[] {\n return routes.map((route) => {\n let routeClone = { ...route };\n if (routeClone.hasErrorBoundary == null) {\n routeClone.hasErrorBoundary = routeClone.errorElement != null;\n }\n if (routeClone.children) {\n routeClone.children = enhanceManualRouteObjects(routeClone.children);\n }\n return routeClone;\n });\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type {\n NavigateOptions,\n RelativeRoutingType,\n RouteObject,\n To,\n} from \"react-router\";\nimport {\n Router,\n createPath,\n useHref,\n useLocation,\n useMatches,\n useNavigate,\n useNavigation,\n useResolvedPath,\n unstable_useBlocker as useBlocker,\n UNSAFE_DataRouterContext as DataRouterContext,\n UNSAFE_DataRouterStateContext as DataRouterStateContext,\n UNSAFE_NavigationContext as NavigationContext,\n UNSAFE_RouteContext as RouteContext,\n UNSAFE_enhanceManualRouteObjects as enhanceManualRouteObjects,\n} from \"react-router\";\nimport type {\n BrowserHistory,\n Fetcher,\n FormEncType,\n FormMethod,\n GetScrollRestorationKeyFunction,\n HashHistory,\n History,\n HydrationState,\n Router as RemixRouter,\n} from \"@remix-run/router\";\nimport {\n createRouter,\n createBrowserHistory,\n createHashHistory,\n UNSAFE_invariant as invariant,\n joinPaths,\n stripBasename,\n ErrorResponse,\n} from \"@remix-run/router\";\n\nimport type {\n SubmitOptions,\n ParamKeyValuePair,\n URLSearchParamsInit,\n} from \"./dom\";\nimport {\n createSearchParams,\n defaultMethod,\n getFormSubmissionInfo,\n getSearchParamsForLocation,\n shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n FormEncType,\n FormMethod,\n GetScrollRestorationKeyFunction,\n ParamKeyValuePair,\n SubmitOptions,\n URLSearchParamsInit,\n};\nexport { createSearchParams };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n ActionFunction,\n ActionFunctionArgs,\n AwaitProps,\n unstable_Blocker,\n unstable_BlockerFunction,\n DataRouteMatch,\n DataRouteObject,\n Fetcher,\n Hash,\n IndexRouteObject,\n IndexRouteProps,\n JsonFunction,\n LayoutRouteProps,\n LoaderFunction,\n LoaderFunctionArgs,\n Location,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigation,\n Navigator,\n NonIndexRouteObject,\n OutletProps,\n Params,\n ParamParseKey,\n Path,\n PathMatch,\n Pathname,\n PathPattern,\n PathRouteProps,\n RedirectFunction,\n RelativeRoutingType,\n RouteMatch,\n RouteObject,\n RouteProps,\n RouterProps,\n RouterProviderProps,\n RoutesProps,\n Search,\n ShouldRevalidateFunction,\n To,\n} from \"react-router\";\nexport {\n AbortedDeferredError,\n Await,\n MemoryRouter,\n Navigate,\n NavigationType,\n Outlet,\n Route,\n Router,\n RouterProvider,\n Routes,\n createMemoryRouter,\n createPath,\n createRoutesFromChildren,\n createRoutesFromElements,\n defer,\n isRouteErrorResponse,\n generatePath,\n json,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n renderMatches,\n resolvePath,\n useActionData,\n useAsyncError,\n useAsyncValue,\n unstable_useBlocker,\n useHref,\n useInRouterContext,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_DataRouterContext,\n UNSAFE_DataRouterStateContext,\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n UNSAFE_enhanceManualRouteObjects,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n var __staticRouterHydrationData: HydrationState | undefined;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\nexport function createBrowserRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n window?: Window;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createBrowserHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n\nexport function createHashRouter(\n routes: RouteObject[],\n opts?: {\n basename?: string;\n hydrationData?: HydrationState;\n window?: Window;\n }\n): RemixRouter {\n return createRouter({\n basename: opts?.basename,\n history: createHashHistory({ window: opts?.window }),\n hydrationData: opts?.hydrationData || parseHydrationData(),\n routes: enhanceManualRouteObjects(routes),\n }).initialize();\n}\n\nfunction parseHydrationData(): HydrationState | undefined {\n let state = window?.__staticRouterHydrationData;\n if (state && state.errors) {\n state = {\n ...state,\n errors: deserializeErrors(state.errors),\n };\n }\n return state;\n}\n\nfunction deserializeErrors(\n errors: RemixRouter[\"state\"][\"errors\"]\n): RemixRouter[\"state\"][\"errors\"] {\n if (!errors) return null;\n let entries = Object.entries(errors);\n let serialized: RemixRouter[\"state\"][\"errors\"] = {};\n for (let [key, val] of entries) {\n // Hey you! If you change this, please change the corresponding logic in\n // serializeErrors in react-router-dom/server.tsx :)\n if (val && val.__type === \"RouteErrorResponse\") {\n serialized[key] = new ErrorResponse(\n val.status,\n val.statusText,\n val.data,\n val.internal === true\n );\n } else if (val && val.__type === \"Error\") {\n let error = new Error(val.message);\n // Wipe away the client-side stack trace. Nothing to fill it in with\n // because we don't serialize SSR stack traces for security reasons\n error.stack = \"\";\n serialized[key] = error;\n } else {\n serialized[key] = val;\n }\n }\n return serialized;\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef<BrowserHistory>();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef<HashHistory>();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window, v5Compat: true });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n <Router\n basename={basename}\n children={children}\n location={state.location}\n navigationType={state.action}\n navigator={history}\n />\n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n to: To;\n}\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\n\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n function LinkWithRef(\n {\n onClick,\n relative,\n reloadDocument,\n replace,\n state,\n target,\n to,\n preventScrollReset,\n ...rest\n },\n ref\n ) {\n let { basename } = React.useContext(NavigationContext);\n\n // Rendered into <a href> for absolute URLs\n let absoluteHref;\n let isExternal = false;\n\n if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n // Render the absolute href server- and client-side\n absoluteHref = to;\n\n // Only check for external origins client-side\n if (isBrowser) {\n let currentUrl = new URL(window.location.href);\n let targetUrl = to.startsWith(\"//\")\n ? new URL(currentUrl.protocol + to)\n : new URL(to);\n let path = stripBasename(targetUrl.pathname, basename);\n\n if (targetUrl.origin === currentUrl.origin && path != null) {\n // Strip the protocol/origin/basename for same-origin absolute URLs\n to = path + targetUrl.search + targetUrl.hash;\n } else {\n isExternal = true;\n }\n }\n }\n\n // Rendered into <a href> for relative URLs\n let href = useHref(to, { relative });\n\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target,\n preventScrollReset,\n relative,\n });\n function handleClick(\n event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n <a\n {...rest}\n href={absoluteHref || href}\n onClick={isExternal || reloadDocument ? onClick : handleClick}\n ref={ref}\n target={target}\n />\n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n children?:\n | React.ReactNode\n | ((props: { isActive: boolean; isPending: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?:\n | string\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: {\n isActive: boolean;\n isPending: boolean;\n }) => React.CSSProperties | undefined);\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let path = useResolvedPath(to, { relative: rest.relative });\n let location = useLocation();\n let routerState = React.useContext(DataRouterStateContext);\n let { navigator } = React.useContext(NavigationContext);\n\n let toPathname = navigator.encodeLocation\n ? navigator.encodeLocation(path).pathname\n : path.pathname;\n let locationPathname = location.pathname;\n let nextLocationPathname =\n routerState && routerState.navigation && routerState.navigation.location\n ? routerState.navigation.location.pathname\n : null;\n\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n nextLocationPathname = nextLocationPathname\n ? nextLocationPathname.toLowerCase()\n : null;\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let isPending =\n nextLocationPathname != null &&\n (nextLocationPathname === toPathname ||\n (!end &&\n nextLocationPathname.startsWith(toPathname) &&\n nextLocationPathname.charAt(toPathname.length) === \"/\"));\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive, isPending });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for <NavLink />s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [\n classNameProp,\n isActive ? \"active\" : null,\n isPending ? \"pending\" : null,\n ]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\"\n ? styleProp({ isActive, isPending })\n : styleProp;\n\n return (\n <Link\n {...rest}\n aria-current={ariaCurrent}\n className={className}\n ref={ref}\n style={style}\n to={to}\n >\n {typeof children === \"function\"\n ? children({ isActive, isPending })\n : children}\n </Link>\n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\nexport interface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {\n /**\n * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n * \"put\", \"delete\", \"patch\".\n */\n method?: FormMethod;\n\n /**\n * Normal `<form action>` but supports React Router's relative paths.\n */\n action?: string;\n\n /**\n * Forces a full document navigation instead of a fetch.\n */\n reloadDocument?: boolean;\n\n /**\n * Replaces the current entry in the browser history stack when the form\n * navigates. Use this if you don't want the user to be able to click \"back\"\n * to the page with the form on it.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * Prevent the scroll position from resetting to the top of the viewport on\n * completion of the navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n\n /**\n * A function to call when the form is submitted. If you call\n * `event.preventDefault()` then this form will not do anything.\n */\n onSubmit?: React.FormEventHandler<HTMLFormElement>;\n}\n\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n (props, ref) => {\n return <FormImpl {...props} ref={ref} />;\n }\n);\n\nif (__DEV__) {\n Form.displayName = \"Form\";\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n SubmitEvent,\n Event,\n HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\ninterface FormImplProps extends FormProps {\n fetcherKey?: string;\n routeId?: string;\n}\n\nconst FormImpl = React.forwardRef<HTMLFormElement, FormImplProps>(\n (\n {\n reloadDocument,\n replace,\n method = defaultMethod,\n action,\n onSubmit,\n fetcherKey,\n routeId,\n relative,\n preventScrollReset,\n ...props\n },\n forwardedRef\n ) => {\n let submit = useSubmitImpl(fetcherKey, routeId);\n let formMethod: FormMethod =\n method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n let formAction = useFormAction(action, { relative });\n let submitHandler: React.FormEventHandler<HTMLFormElement> = (event) => {\n onSubmit && onSubmit(event);\n if (event.defaultPrevented) return;\n event.preventDefault();\n\n let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n .submitter as HTMLFormSubmitter | null;\n\n let submitMethod =\n (submitter?.getAttribute(\"formmethod\") as FormMethod | undefined) ||\n method;\n\n submit(submitter || event.currentTarget, {\n method: submitMethod,\n replace,\n relative,\n preventScrollReset,\n });\n };\n\n return (\n <form\n ref={forwardedRef}\n method={formMethod}\n action={formAction}\n onSubmit={reloadDocument ? onSubmit : submitHandler}\n {...props}\n />\n );\n }\n);\n\nif (__DEV__) {\n FormImpl.displayName = \"FormImpl\";\n}\n\nexport interface ScrollRestorationProps {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n getKey,\n storageKey,\n}: ScrollRestorationProps) {\n useScrollRestoration({ getKey, storageKey });\n return null;\n}\n\nif (__DEV__) {\n ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\nenum DataRouterHook {\n UseScrollRestoration = \"useScrollRestoration\",\n UseSubmitImpl = \"useSubmitImpl\",\n UseFetcher = \"useFetcher\",\n}\n\nenum DataRouterStateHook {\n UseFetchers = \"useFetchers\",\n UseScrollRestoration = \"useScrollRestoration\",\n}\n\nfunction getDataRouterConsoleError(\n hookName: DataRouterHook | DataRouterStateHook\n) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n let ctx = React.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n let state = React.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n preventScrollReset,\n relative,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n relative?: RelativeRoutingType;\n } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to, { relative });\n\n return React.useCallback(\n (event: React.MouseEvent<E, MouseEvent>) => {\n if (shouldProcessLinkClick(event, target)) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular <a> will do a replace instead of\n // a push, so do the same here unless the replace prop is explicitly set\n let replace =\n replaceProp !== undefined\n ? replaceProp\n : createPath(location) === createPath(path);\n\n navigate(to, { replace, state, preventScrollReset, relative });\n }\n },\n [\n location,\n navigate,\n path,\n replaceProp,\n state,\n target,\n to,\n preventScrollReset,\n relative,\n ]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n let hasSetSearchParamsRef = React.useRef(false);\n\n let location = useLocation();\n let searchParams = React.useMemo(\n () =>\n // Only merge in the defaults if we haven't yet called setSearchParams.\n // Once we call that we want those to take precedence, otherwise you can't\n // remove a param with setSearchParams({}) if it has an initial value\n getSearchParamsForLocation(\n location.search,\n hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current\n ),\n [location.search]\n );\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback<SetURLSearchParams>(\n (nextInit, navigateOptions) => {\n const newSearchParams = createSearchParams(\n typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n );\n hasSetSearchParamsRef.current = true;\n navigate(\"?\" + newSearchParams, navigateOptions);\n },\n [navigate, searchParams]\n );\n\n return [searchParams, setSearchParams];\n}\n\ntype SetURLSearchParams = (\n nextInit?:\n | URLSearchParamsInit\n | ((prev: URLSearchParams) => URLSearchParamsInit),\n navigateOpts?: NavigateOptions\n) => void;\n\ntype SubmitTarget =\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | { [name: string]: string }\n | null;\n\n/**\n * Submits a HTML `<form>` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n (\n /**\n * Specifies the `<form>` to be submitted to the server, a specific\n * `<button>` or `<input type=\"submit\">` to use to submit the form, or some\n * arbitrary data to submit.\n *\n * Note: When using a `<button>` its `name` and `value` will also be\n * included in the form data that is submitted.\n */\n target: SubmitTarget,\n\n /**\n * Options that override the `<form>`'s own attributes. Required when\n * submitting arbitrary data without a backing `<form>`.\n */\n options?: SubmitOptions\n ): void;\n}\n\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nexport function useSubmit(): SubmitFunction {\n return useSubmitImpl();\n}\n\nfunction useSubmitImpl(fetcherKey?: string, routeId?: string): SubmitFunction {\n let { router } = useDataRouterContext(DataRouterHook.UseSubmitImpl);\n let defaultAction = useFormAction();\n\n return React.useCallback(\n (target, options = {}) => {\n if (typeof document === \"undefined\") {\n throw new Error(\n \"You are calling submit during the server render. \" +\n \"Try calling submit within a `useEffect` or callback instead.\"\n );\n }\n\n let { method, encType, formData, url } = getFormSubmissionInfo(\n target,\n defaultAction,\n options\n );\n\n let href = url.pathname + url.search;\n let opts = {\n replace: options.replace,\n preventScrollReset: options.preventScrollReset,\n formData,\n formMethod: method as FormMethod,\n formEncType: encType as FormEncType,\n };\n if (fetcherKey) {\n invariant(routeId != null, \"No routeId available for useFetcher()\");\n router.fetch(fetcherKey, routeId, href, opts);\n } else {\n router.navigate(href, opts);\n }\n },\n [defaultAction, router, fetcherKey, routeId]\n );\n}\n\nexport function useFormAction(\n action?: string,\n { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n let { basename } = React.useContext(NavigationContext);\n let routeContext = React.useContext(RouteContext);\n invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\n let [match] = routeContext.matches.slice(-1);\n // Shallow clone path so we can modify it below, otherwise we modify the\n // object referenced by useMemo inside useResolvedPath\n let path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n\n // Previously we set the default action to \".\". The problem with this is that\n // `useResolvedPath(\".\")` excludes search params and the hash of the resolved\n // URL. This is the intended behavior of when \".\" is specifically provided as\n // the form action, but inconsistent w/ browsers when the action is omitted.\n // https://github.com/remix-run/remix/issues/927\n let location = useLocation();\n if (action == null) {\n // Safe to write to these directly here since if action was undefined, we\n // would have called useResolvedPath(\".\") which will never include a search\n // or hash\n path.search = location.search;\n path.hash = location.hash;\n\n // When grabbing search params from the URL, remove the automatically\n // inserted ?index param so we match the useResolvedPath search behavior\n // which would not include ?index\n if (match.route.index) {\n let params = new URLSearchParams(path.search);\n params.delete(\"index\");\n path.search = params.toString() ? `?${params.toString()}` : \"\";\n }\n }\n\n if ((!action || action === \".\") && match.route.index) {\n path.search = path.search\n ? path.search.replace(/^\\?/, \"?index&\")\n : \"?index\";\n }\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the form action. If this is a root navigation, then just use\n // the raw basename which allows the basename to have full control over the\n // presence of a trailing slash on root actions\n if (basename !== \"/\") {\n path.pathname =\n path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n\n return createPath(path);\n}\n\nfunction createFetcherForm(fetcherKey: string, routeId: string) {\n let FetcherForm = React.forwardRef<HTMLFormElement, FormProps>(\n (props, ref) => {\n return (\n <FormImpl\n {...props}\n ref={ref}\n fetcherKey={fetcherKey}\n routeId={routeId}\n />\n );\n }\n );\n if (__DEV__) {\n FetcherForm.displayName = \"fetcher.Form\";\n }\n return FetcherForm;\n}\n\nlet fetcherId = 0;\n\nexport type FetcherWithComponents<TData> = Fetcher<TData> & {\n Form: ReturnType<typeof createFetcherForm>;\n submit: (\n target: SubmitTarget,\n // Fetchers cannot replace/preventScrollReset because they are not\n // navigation events\n options?: Omit<SubmitOptions, \"replace\" | \"preventScrollReset\">\n ) => void;\n load: (href: string) => void;\n};\n\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nexport function useFetcher<TData = any>(): FetcherWithComponents<TData> {\n let { router } = useDataRouterContext(DataRouterHook.UseFetcher);\n\n let route = React.useContext(RouteContext);\n invariant(route, `useFetcher must be used inside a RouteContext`);\n\n let routeId = route.matches[route.matches.length - 1]?.route.id;\n invariant(\n routeId != null,\n `useFetcher can only be used on routes that contain a unique \"id\"`\n );\n\n let [fetcherKey] = React.useState(() => String(++fetcherId));\n let [Form] = React.useState(() => {\n invariant(routeId, `No routeId available for fetcher.Form()`);\n return createFetcherForm(fetcherKey, routeId);\n });\n let [load] = React.useState(() => (href: string) => {\n invariant(router, \"No router available for fetcher.load()\");\n invariant(routeId, \"No routeId available for fetcher.load()\");\n router.fetch(fetcherKey, routeId, href);\n });\n let submit = useSubmitImpl(fetcherKey, routeId);\n\n let fetcher = router.getFetcher<TData>(fetcherKey);\n\n let fetcherWithComponents = React.useMemo(\n () => ({\n Form,\n submit,\n load,\n ...fetcher,\n }),\n [fetcher, Form, submit, load]\n );\n\n React.useEffect(() => {\n // Is this busted when the React team gets real weird and calls effects\n // twice on mount? We really just need to garbage collect here when this\n // fetcher is no longer around.\n return () => {\n if (!router) {\n console.warn(`No fetcher available to clean up from useFetcher()`);\n return;\n }\n router.deleteFetcher(fetcherKey);\n };\n }, [router, fetcherKey]);\n\n return fetcherWithComponents;\n}\n\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nexport function useFetchers(): Fetcher[] {\n let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n return [...state.fetchers.values()];\n}\n\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions: Record<string, number> = {};\n\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration({\n getKey,\n storageKey,\n}: {\n getKey?: GetScrollRestorationKeyFunction;\n storageKey?: string;\n} = {}) {\n let { router } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n let { restoreScrollPosition, preventScrollReset } = useDataRouterState(\n DataRouterStateHook.UseScrollRestoration\n );\n let location = useLocation();\n let matches = useMatches();\n let navigation = useNavigation();\n\n // Trigger manual scroll restoration while we're active\n React.useEffect(() => {\n window.history.scrollRestoration = \"manual\";\n return () => {\n window.history.scrollRestoration = \"auto\";\n };\n }, []);\n\n // Save positions on pagehide\n usePageHide(\n React.useCallback(() => {\n if (navigation.state === \"idle\") {\n let key = (getKey ? getKey(location, matches) : null) || location.key;\n savedScrollPositions[key] = window.scrollY;\n }\n sessionStorage.setItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n JSON.stringify(savedScrollPositions)\n );\n window.history.scrollRestoration = \"auto\";\n }, [storageKey, getKey, navigation.state, location, matches])\n );\n\n // Read in any saved scroll locations\n if (typeof document !== \"undefined\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n try {\n let sessionPositions = sessionStorage.getItem(\n storageKey || SCROLL_RESTORATION_STORAGE_KEY\n );\n if (sessionPositions) {\n savedScrollPositions = JSON.parse(sessionPositions);\n }\n } catch (e) {\n // no-op, use default empty object\n }\n }, [storageKey]);\n\n // Enable scroll restoration in the router\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n let disableScrollRestoration = router?.enableScrollRestoration(\n savedScrollPositions,\n () => window.scrollY,\n getKey\n );\n return () => disableScrollRestoration && disableScrollRestoration();\n }, [router, getKey]);\n\n // Restore scrolling when state.restoreScrollPosition changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(() => {\n // Explicit false means don't do anything (used for submissions)\n if (restoreScrollPosition === false) {\n return;\n }\n\n // been here before, scroll to it\n if (typeof restoreScrollPosition === \"number\") {\n window.scrollTo(0, restoreScrollPosition);\n return;\n }\n\n // try to scroll to the hash\n if (location.hash) {\n let el = document.getElementById(location.hash.slice(1));\n if (el) {\n el.scrollIntoView();\n return;\n }\n }\n\n // Don't reset if this navigation opted out\n if (preventScrollReset === true) {\n return;\n }\n\n // otherwise go to the top on new locations\n window.scrollTo(0, 0);\n }, [location, restoreScrollPosition, preventScrollReset]);\n }\n}\n\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nexport function useBeforeUnload(\n callback: (event: BeforeUnloadEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"beforeunload\", callback, opts);\n return () => {\n window.removeEventListener(\"beforeunload\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes. This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(\n callback: (event: PageTransitionEvent) => any,\n options?: { capture?: boolean }\n): void {\n let { capture } = options || {};\n React.useEffect(() => {\n let opts = capture != null ? { capture } : undefined;\n window.addEventListener(\"pagehide\", callback, opts);\n return () => {\n window.removeEventListener(\"pagehide\", callback, opts);\n };\n }, [callback, capture]);\n}\n\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open. Use at your own risk.\n */\nfunction usePrompt({ when, message }: { when: boolean; message: string }) {\n let blocker = useBlocker(when);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\" && !when) {\n blocker.reset();\n }\n }, [blocker, when]);\n\n React.useEffect(() => {\n if (blocker.state === \"blocked\") {\n let proceed = window.confirm(message);\n if (proceed) {\n setTimeout(blocker.proceed, 0);\n } else {\n blocker.reset();\n }\n }\n }, [blocker, message]);\n}\n\nexport { usePrompt as unstable_usePrompt };\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Utils\n////////////////////////////////////////////////////////////////////////////////\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n//#endregion\n\nexport { useScrollRestoration as UNSAFE_useScrollRestoration };\n","import type { FormEncType, FormMethod } from \"@remix-run/router\";\nimport type { RelativeRoutingType } from \"react-router\";\n\nexport const defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n MouseEvent,\n \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n event: LimitedMouseEvent,\n target?: string\n) {\n return (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record<string, string | string[]>\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n\nexport function getSearchParamsForLocation(\n locationSearch: string,\n defaultSearchParams: URLSearchParams | null\n) {\n let searchParams = createSearchParams(locationSearch);\n\n if (defaultSearchParams) {\n for (let key of defaultSearchParams.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n }\n\n return searchParams;\n}\n\nexport interface SubmitOptions {\n /**\n * The HTTP method used to submit the form. Overrides `<form method>`.\n * Defaults to \"GET\".\n */\n method?: FormMethod;\n\n /**\n * The action URL path used to submit the form. Overrides `<form action>`.\n * Defaults to the path of the current route.\n *\n * Note: It is assumed the path is already resolved. If you need to resolve a\n * relative path, use `useFormAction`.\n */\n action?: string;\n\n /**\n * The action URL used to submit the form. Overrides `<form encType>`.\n * Defaults to \"application/x-www-form-urlencoded\".\n */\n encType?: FormEncType;\n\n /**\n * Set `true` to replace the current entry in the browser's history stack\n * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n * to `false`.\n */\n replace?: boolean;\n\n /**\n * Determines whether the form action is relative to the route hierarchy or\n * the pathname. Use this if you want to opt out of navigating the route\n * hierarchy and want to instead route based on /-delimited URL segments\n */\n relative?: RelativeRoutingType;\n\n /**\n * In browser-based environments, prevent resetting scroll after this\n * navigation when using the <ScrollRestoration> component\n */\n preventScrollReset?: boolean;\n}\n\nexport function getFormSubmissionInfo(\n target:\n | HTMLFormElement\n | HTMLButtonElement\n | HTMLInputElement\n | FormData\n | URLSearchParams\n | { [name: string]: string }\n | null,\n defaultAction: string,\n options: SubmitOptions\n): {\n url: URL;\n method: string;\n encType: string;\n formData: FormData;\n} {\n let method: string;\n let action: string;\n let encType: string;\n let formData: FormData;\n\n if (isFormElement(target)) {\n let submissionTrigger: HTMLButtonElement | HTMLInputElement = (\n options as any\n ).submissionTrigger;\n\n method = options.method || target.getAttribute(\"method\") || defaultMethod;\n action = options.action || target.getAttribute(\"action\") || defaultAction;\n encType =\n options.encType || target.getAttribute(\"enctype\") || defaultEncType;\n\n formData = new FormData(target);\n\n if (submissionTrigger && submissionTrigger.name) {\n formData.append(submissionTrigger.name, submissionTrigger.value);\n }\n } else if (\n isButtonElement(target) ||\n (isInputElement(target) &&\n (target.type === \"submit\" || target.type === \"image\"))\n ) {\n let form = target.form;\n\n if (form == null) {\n throw new Error(\n `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n );\n }\n\n // <button>/<input type=\"submit\"> may override attributes of <form>\n\n method =\n options.method ||\n target.getAttribute(\"formmethod\") ||\n form.getAttribute(\"method\") ||\n defaultMethod;\n action =\n options.action ||\n target.getAttribute(\"formaction\") ||\n form.getAttribute(\"action\") ||\n defaultAction;\n encType =\n options.encType ||\n target.getAttribute(\"formenctype\") ||\n form.getAttribute(\"enctype\") ||\n defaultEncType;\n\n formData = new FormData(form);\n\n // Include name + value from a <button>, appending in case the button name\n // matches an existing input name\n if (target.name) {\n formData.append(target.name, target.value);\n }\n } else if (isHtmlElement(target)) {\n throw new Error(\n `Cannot submit element that is not <form>, <button>, or ` +\n `<input type=\"submit|image\">`\n );\n } else {\n method = options.method || defaultMethod;\n action = options.action || defaultAction;\n encType = options.encType || defaultEncType;\n\n if (target instanceof FormData) {\n formData = target;\n } else {\n formData = new FormData();\n\n if (target instanceof URLSearchParams) {\n for (let [name, value] of target) {\n formData.append(name, value);\n }\n } else if (target != null) {\n for (let name of Object.keys(target)) {\n formData.append(name, target[name]);\n }\n }\n }\n }\n\n let { protocol, host } = window.location;\n let url = new URL(action, `${protocol}//${host}`);\n\n return { url, method: method.toLowerCase(), encType, formData };\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import { createContext, useState } from \"react\";\r\n\r\nconst SearchContext = createContext({\r\n searchFormData: { query: '' },\r\n});\r\n\r\nfunction SearchProvider({ children }) {\r\n const [searchFormData, setSearchFormData] = useState({ query: \"\" });\r\n return (\r\n <SearchContext.Provider value={{ searchFormData}}>\r\n {children}\r\n </SearchContext.Provider>\r\n );\r\n}\r\n\r\nexport { SearchContext, SearchProvider };","import { useEffect, useRef, useContext, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport { SearchContext } from '../../context/SearchContext';\r\n\r\nimport './searchBar.scss'\r\n\r\nconst SearchBar = () => {\r\n const { searchFormData, setSearchFormData } = useContext(SearchContext);\r\n const [showClose, setShowClose] = useState(false);\r\n const inputRef = useRef(null);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n const navigate = useNavigate();\r\n\r\n const handleResize = () => {\r\n setWidth(window.innerWidth);\r\n };\r\n\r\n useEffect(() => {\r\n function handleKeyPress(event) {\r\n if (event.altKey && event.keyCode === 13) { // Alt + Enter\r\n inputRef.current.focus();\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', handleKeyPress);\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => {\r\n window.removeEventListener('keydown', handleKeyPress);\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n console.log(event.target.value);\r\n if (event.target.value !== '') {\r\n setShowClose(true);\r\n } else {\r\n setShowClose(false);\r\n }\r\n setSearchFormData((prevState) => ({\r\n ...prevState,\r\n query: event.target.value,\r\n }));\r\n };\r\n\r\n const handleFormSubmit = (event) => {\r\n event.preventDefault();\r\n navigate(`/search`);\r\n };\r\n\r\n const handleClearInput = () => {\r\n setSearchFormData((prevState) => ({\r\n ...prevState,\r\n query: '',\r\n }));\r\n setShowClose(false);\r\n };\r\n\r\n\r\n return (\r\n <form className=\"search__form\" onSubmit={handleFormSubmit}>\r\n <div className=\"search-input__area\">\r\n <input\r\n ref={inputRef}\r\n value={searchFormData.query}\r\n type=\"text\"\r\n role=\"searchbox\"\r\n placeholder={width < 576 ? `Search` : `Search more than 500 000 games`}\r\n className=\"search-input\"\r\n onChange={handleInputChange}\r\n />\r\n <div className={showClose ? `search-hotkeys__wrapper hotkeys-hidden` : `search-hotkeys__wrapper`}>\r\n <div className=\"search-hotkey\">alt</div>\r\n <span>+</span>\r\n <div className=\"search-hotkey\">enter</div>\r\n </div>\r\n <button className={showClose ? 'search__close-button' : `search__close-button close-hidden`}\r\n onClick={handleClearInput}\r\n type=\"reset\">\r\n <span className=\"search__close-button__icon\"></span>\r\n </button>\r\n </div>\r\n </form>\r\n );\r\n};\r\n\r\nexport default SearchBar;","import { NavLink } from 'react-router-dom';\r\n\r\nimport './burgerMenu.scss';\r\n\r\nconst BurgerMenu = ({isOpen, toggleMenu}) => {\r\n return (\r\n <nav className=\"burger-menu\">\r\n <button onClick={toggleMenu} className=\"burger-menu__button\">\r\n <span className=\"burger-menu__button-bar\" />\r\n <span className=\"burger-menu__button-bar\" />\r\n <span className=\"burger-menu__button-bar\" />\r\n </button>\r\n {isOpen && (\r\n <div className=\"burger-menu__container\">\r\n <ul className=\"burger-menu__list\">\r\n <div className=\"burger-menu__list-col\">\r\n <div className=\"burger-menu__list-title\">Menu</div>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Home</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/games\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Popular Games</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/games-by-rating\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Games by rating</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/games-by-metacritic\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Games by metacritic</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/developers\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Developers</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/publishers\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Publishers</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/genres\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Genres</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/platforms\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Platforms</NavLink>\r\n </li>\r\n <li className=\"burger-menu__item\">\r\n <NavLink to=\"/tags\" \r\n className={({ isActive }) =>\r\n isActive ? \"burger-menu__link--active\" : \"burger-menu__link\" \r\n }\r\n onClick={toggleMenu}\r\n >Tags</NavLink>\r\n </li>\r\n </div>\r\n </ul>\r\n <div className=\"burger-menu__close-wrapper\" onClick={toggleMenu} role=\"button\" tabIndex={0}>\r\n <div className=\"burger-menu__close\">\r\n <span className=\"burger-menu__close-bar\" />\r\n <span className=\"burger-menu__close-bar\" />\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </nav>\r\n );\r\n};\r\n\r\nexport default BurgerMenu;","import { useState, useEffect, useRef } from 'react';\r\nimport { NavLink } from 'react-router-dom';\r\n\r\nimport SearchBar from '../SearchBar/SearchBar';\r\nimport BurgerMenu from '../UI/BurgerMenu/BurgerMenu';\r\n\r\nimport './header.scss';\r\n\r\nconst Header = ({navigate}) => {\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n const [isBurgerOpen, setIsBurgerOpen] = useState(false);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n const toggleMenu = () => {\r\n setIsBurgerOpen(!isBurgerOpen);\r\n };\r\n\r\n const handleResize = () => {\r\n setWidth(window.innerWidth);\r\n };\r\n\r\n const handleDropdownMouseEnter = () => {\r\n setIsDropdownOpen(true);\r\n };\r\n\r\n const handleDropdownMouseLeave = () => {\r\n setIsDropdownOpen(false);\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", handleResize);\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, []);\r\n\r\n return (\r\n <header className=\"header\">\r\n <div className=\"header__wrapper\">\r\n <div className=\"header__item\">\r\n <NavLink to=\"/\" className=\"header__logo\">\r\n GAME\r\n </NavLink>\r\n </div>\r\n <div className=\"header__item header__item__search\">\r\n <SearchBar navigate={navigate}/>\r\n </div>\r\n <div className=\"header__item\">\r\n <div className={`burger-menu__overlay ${isBurgerOpen ? 'burger-menu__overlay--opened' : ''}`}\r\n onClick={toggleMenu}\r\n role=\"button\"></div>\r\n {width < 992 \r\n ? <BurgerMenu isOpen={isBurgerOpen} toggleMenu={toggleMenu}/>\r\n : <nav className=\"header__nav\">\r\n <ul className=\"header__ul\">\r\n <li className=\"header__li\">\r\n <NavLink to=\"/\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Home</NavLink>\r\n </li>\r\n <li className=\"header__li dropdown-trigger\" \r\n onMouseEnter={handleDropdownMouseEnter}\r\n onMouseLeave={handleDropdownMouseLeave}\r\n ><NavLink to=\"/games\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Games</NavLink>\r\n \r\n {isDropdownOpen && (\r\n <ul className=\"dropdown\">\r\n <li className=\"dropdown__li\">\r\n <NavLink to=\"/games-by-rating\">Games by rating</NavLink>\r\n </li>\r\n <li className=\"dropdown__li\">\r\n <NavLink to=\"/games-by-metacritic\">Games by metacritic</NavLink>\r\n </li>\r\n </ul>\r\n )} \r\n </li>\r\n <li className=\"header__li\">\r\n <NavLink to=\"/developers\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Developers</NavLink>\r\n </li>\r\n <li className=\"header__li\">\r\n <NavLink to=\"/publishers\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Publishers</NavLink>\r\n </li>\r\n <li className=\"header__li\">\r\n <NavLink to=\"/genres\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Genres</NavLink>\r\n </li>\r\n <li className=\"header__li\">\r\n <NavLink to=\"/platforms\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Platforms</NavLink>\r\n </li>\r\n <li className=\"header__li\">\r\n <NavLink to=\"/tags\" \r\n className={({ isActive }) =>\r\n isActive ? \"header__link--active\" : \"header__link\" \r\n }\r\n >Tags</NavLink>\r\n </li>\r\n </ul>\r\n </nav> \r\n }\r\n </div>\r\n </div>\r\n </header>\r\n );\r\n};\r\n\r\nexport default Header;","import './footer.scss';\r\n\r\nconst Footer = () => {\r\n return (\r\n <footer className=\"footer\">\r\n <div className=\"container\">\r\n <div className=\"footer__wrapper\">\r\n <a href=\"https://rawg.io/apidocs\" className=\"footer-text\">Based on RAWG Database API</a>\r\n </div>\r\n </div>\r\n </footer>\r\n );\r\n};\r\n\r\nexport default Footer;","import { Link } from 'react-router-dom';\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\n\r\nimport heroPhoto from '../../resources/img/hero-photo.jpg'\r\nimport mainPhoto from '../../resources/img/main-hero.jpeg'\r\n\r\nimport './mainPage.scss';\r\n\r\nfunction MainPage() {\r\n \r\n\r\n return (\r\n <div className=\"main\">\r\n <div className=\"main-page__hero\">\r\n <div className=\"container\">\r\n <div className=\"main-page__hero-content\">\r\n <div className=\"main-page__hero-text\">\r\n <h1 className=\"main-page__hero-text__title\">Explore GAME Video Games Database</h1>\r\n <div className=\"main-page__hero-text__subtitle\">There are two types of companies: hoarders and givers. GAME is the \r\n largest video game database and game discovery service. And we are gladly sharing our 500,000+ games, search, and machine \r\n learning recommendations with the world.</div>\r\n <div className=\"main-page__hero-buttons__wrapper\">\r\n <Link to=\"/games-by-rating\" className=\"main-page__hero-button\">Go to games</Link>\r\n </div>\r\n </div>\r\n <div className=\"main-page__hero-photo\">\r\n <LazyLoadImage src={heroPhoto}\r\n width={900} height={450}\r\n placeholderSrc={'https://via.placeholder.com/900x450/f2f2f2/969696.jpeg?text=+'}\r\n effect=\"blur\"\r\n alt=\"hero\"\r\n className=\"hero-photo\"\r\n />\r\n </div>\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${mainPhoto})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"page main-page\">\r\n <div className=\"container\">\r\n <div className=\"main-page__reasons\">\r\n <h3 className=\"main-page__reasons-subtitle\">Why GAME</h3>\r\n <h2 className=\"main-page__reasons-title\">500,000+ games for 50 platforms including mobiles</h2>\r\n <ul className=\"main-page__reasons-list\">\r\n <li className=\"main-page__reasons-item\">\r\n <span className=\"main-page__reasons-item__icon\">📷</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">2,100,000</span><br></br>screenshots\r\n </p>\r\n </li>\r\n <li className=\"main-page__reasons-item item-blue\">\r\n <span className=\"main-page__reasons-item__icon\">👍</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">1,100,000</span><br></br>ratings\r\n </p>\r\n </li>\r\n <li className=\"main-page__reasons-item item-white\">\r\n <span className=\"main-page__reasons-item__icon\">🗄️</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">220,000</span><br></br>developers\r\n </p>\r\n </li>\r\n <li className=\"main-page__reasons-item item-blue\">\r\n <span className=\"main-page__reasons-item__icon\">🏷️</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">58,000</span><br></br>tags\r\n </p>\r\n </li>\r\n <li className=\"main-page__reasons-item item-white\">\r\n <span className=\"main-page__reasons-item__icon\">📁</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">45,000</span><br></br>publishers\r\n </p>\r\n </li>\r\n <li className=\"main-page__reasons-item\">\r\n <span className=\"main-page__reasons-item__icon\">👨💻</span>\r\n <p className=\"main-page__reasons-item__text\">\r\n <span className=\"main-page__reasons-item__counter\">24,000</span><br></br>people\r\n </p>\r\n </li>\r\n </ul>\r\n <ul className=\"main-page__text-reasons\">\r\n <li className=\"main-page__text-reasons__item\">\r\n <p>Comprehensive video game data: descriptions, genres, release dates, links to stores, ESRB-ratings, average \r\n playtime, Metacritic ratings, official websites, system requirements, DLCs and franchises.</p>\r\n </li>\r\n <li className=\"main-page__text-reasons__item\">\r\n <p>Player activity data: Steam average playtime and GAME player counts and ratings.</p>\r\n </li>\r\n <li className=\"main-page__text-reasons__item\">\r\n <p>Where to buy: links to digital distribution services.</p>\r\n </li>\r\n <li className=\"main-page__text-reasons__item\">\r\n <p>Rapidly growing and getting better by user contribution and our algorithms.</p>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default MainPage;\r\n","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import { useMemo } from \"react\";\r\n\r\nconst useSortGames = (sort, gamesList) => {\r\n const sortedGames = useMemo(() => {\r\n if (sort) {\r\n switch (sort) {\r\n case 'name':\r\n return [...gamesList].sort((a, b) => a[sort].localeCompare(b[sort]));\r\n case 'rating':\r\n return [...gamesList].sort((a, b) => b[sort] - a[sort]);\r\n case 'metacritic':\r\n return [...gamesList].sort((a, b) => b[sort] - a[sort]);\r\n case 'added':\r\n return [...gamesList].sort((a, b) => a[sort] - b[sort]);\r\n case 'released':\r\n return [...gamesList].sort((a, b) => new Date(a[sort]) - new Date(b[sort]));\r\n default:\r\n return [...gamesList];\r\n }\r\n } else {\r\n return [...gamesList];\r\n } \r\n }, [sort, gamesList]);\r\n\r\n return sortedGames;\r\n}\r\n\r\nexport default useSortGames;","import { useState } from \"react\"\r\n\r\nexport const useFetching = (callback) => {\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [error, setError] = useState('');\r\n\r\n const fetching = async (...args) => {\r\n try {\r\n setIsLoading(true);\r\n await callback(...args);\r\n } catch (e) {\r\n setError(e.message);\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n return [fetching, isLoading, error]\r\n}","import { useEffect, useRef } from \"react\";\r\n\r\nexport const useObserver = (ref, canLoad, isLoading, cb) => {\r\n const observer = useRef();\r\n useEffect(() => {\r\n if (isLoading) { return };\r\n\r\n if (observer.current) {\r\n observer.current.disconnect();\r\n }\r\n const callback = function(entries, observer) {\r\n if (entries[0].isIntersecting && canLoad) {\r\n cb();\r\n }\r\n };\r\n\r\n observer.current = new IntersectionObserver(callback);\r\n observer.current.observe(ref.current);\r\n }, [isLoading])\r\n}","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv)) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.3.4\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","export const _APIKEY = '2e30963c61f74dac97f2c89f3b62186e';","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class GamesService {\r\n static async getGamesList(limit = 20, page = 1, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, {\r\n params: {\r\n platforms: platform,\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesListBySearch(query, limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, {\r\n params: {\r\n search: query,\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesListByParam(param, limit = 20, page = 1, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?key=${_APIKEY}`, {\r\n params: {\r\n ordering: param,\r\n platforms: platform,\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGameBySlug(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${slug}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getGameAchiviementsById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${id}/achievements?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getGameScreenshotsById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${id}/screenshots?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getStoreGameById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${id}/stores?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getRedditPostsById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${id}/reddit?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getGameAdditionsById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${id}/additions?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPlaystation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 21 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.112 16L8 14.654V0s6.764 1.147 7.695 3.987c.931 2.842-.52 4.682-1.03 4.736-1.42.15-1.96-.748-1.96-.748V3.39l-1.544-.648L11.112 16zM12 14.32V16s7.666-2.338 8.794-3.24c1.128-.9-2.641-3.142-4.666-2.704 0 0-2.152.099-4.102.901-.019.008 0 1.51 0 1.51l4.948-1.095 1.743.73L12 14.32zm-5.024-.773s-.942.476-3.041.452c-2.1-.024-3.959-.595-3.935-1.833C.024 10.928 3.476 9.571 6.952 9v1.738l-3.693.952s-.632.786.217.81A11.934 11.934 0 007 12.046l-.024 1.5z\",\n fill: \"#FFF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlaystation);\nexport default __webpack_public_path__ + \"static/media/playstation.ecb9f256bdbf6e0d2914b23c25096282.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgXbox(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M3.564 1.357l-.022.02c.046-.048.11-.1.154-.128C4.948.435 6.396 0 8 0c1.502 0 2.908.415 4.11 1.136.086.052.324.215.446.363C11.4.222 7.993 2.962 7.993 2.962c-1.177-.908-2.26-1.526-3.067-1.746-.674-.185-1.14-.03-1.362.141zm10.305 1.208c-.035-.04-.074-.076-.109-.116-.293-.322-.653-.4-.978-.378-.295.092-1.66.584-3.342 2.172 0 0 1.894 1.841 3.053 3.723 1.159 1.883 1.852 3.362 1.426 5.415A7.969 7.969 0 0016 7.999a7.968 7.968 0 00-2.13-5.434zM10.98 8.77a55.416 55.416 0 00-2.287-2.405 52.84 52.84 0 00-.7-.686l-.848.854c-.614.62-1.411 1.43-1.853 1.902-.787.84-3.043 3.479-3.17 4.958 0 0-.502-1.174.6-3.88.72-1.769 2.893-4.425 3.801-5.29 0 0-.83-.913-1.87-1.544l-.007-.002s-.011-.009-.03-.02c-.5-.3-1.047-.53-1.573-.56a1.391 1.391 0 00-.878.431A8 8 0 0013.92 13.381c0-.002-.169-1.056-1.245-2.57-.253-.354-1.178-1.46-1.696-2.04z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgXbox);\nexport default __webpack_public_path__ + \"static/media/xbox.73ae45c0cec2e50a903d3ab1f821f069.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgWindows(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 13.772l6.545.902V8.426H0zM0 7.62h6.545V1.296L0 2.198zm7.265 7.15l8.704 1.2V8.425H7.265zm0-13.57v6.42h8.704V0z\",\n fill: \"#FFF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWindows);\nexport default __webpack_public_path__ + \"static/media/windows.1eb2ae366b46e9c7cd72873a6650ecca.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAndroid(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 16 18\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.168 5.86H1.12c-.614 0-1.115.482-1.115 1.07v4.665c0 .59.5 1.071 1.115 1.071h.049c.614 0 1.115-.482 1.115-1.071V6.93c0-.589-.502-1.072-1.116-1.072zm1.65 7.535c0 .541.46.983 1.025.983h1.095v2.519c0 .591.503 1.073 1.116 1.073h.048c.615 0 1.116-.482 1.116-1.073v-2.52H8.75v2.52c0 .591.504 1.073 1.117 1.073h.047c.615 0 1.116-.482 1.116-1.073v-2.52h1.096c.564 0 1.025-.44 1.025-.982V6.03H2.818v7.364zm7.739-11.83l.87-1.29a.173.173 0 00-.054-.246.188.188 0 00-.256.052l-.902 1.335A6.092 6.092 0 007.985 1a6.1 6.1 0 00-2.232.416L4.853.08a.19.19 0 00-.257-.05.173.173 0 00-.055.246l.871 1.29c-1.57.739-2.628 2.131-2.628 3.729 0 .098.006.195.015.29H13.17c.009-.095.014-.192.014-.29 0-1.598-1.059-2.99-2.628-3.73zM5.58 3.875a.489.489 0 01-.5-.48c0-.265.224-.478.5-.478.277 0 .5.213.5.478a.489.489 0 01-.5.48zm4.809 0a.489.489 0 01-.5-.48c0-.265.224-.478.5-.478s.498.213.498.478a.488.488 0 01-.498.48zm4.458 1.985h-.046c-.614 0-1.117.482-1.117 1.07v4.665c0 .59.503 1.071 1.117 1.071h.047c.615 0 1.115-.482 1.115-1.071V6.93c0-.589-.501-1.072-1.116-1.072z\",\n fill: \"#FFF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAndroid);\nexport default __webpack_public_path__ + \"static/media/android.ef4997b7782caa544f442954df607657.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgNintendo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 21 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n fillRule: \"evenodd\",\n d: \"M8 0h5a8 8 0 110 16H8A8 8 0 118 0zm-.135 1.935a6.065 6.065 0 000 12.13h5.12a6.065 6.065 0 000-12.13h-5.12zm-1.33 2.304h2.401l3.199 5.175V4.24h2.346v7.495H12.18L8.864 6.537v5.201H6.53l.005-7.499z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNintendo);\nexport default __webpack_public_path__ + \"static/media/nintendo.04fcc2fb82e356e8eabdf981c94862d3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgIos(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 15 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.869 0h.127c.102 1.26-.379 2.202-.963 2.884-.574.677-1.359 1.334-2.629 1.234-.084-1.242.397-2.114.98-2.794C8.927.69 9.919.126 10.87 0zm3.756 13.196v.036a10.534 10.534 0 01-1.494 2.899c-.57.789-1.267 1.85-2.513 1.85-1.077 0-1.792-.696-2.896-.715-1.167-.02-1.81.583-2.877.734h-.364c-.783-.114-1.416-.74-1.877-1.302A11.452 11.452 0 010 10.134v-.808c.083-1.969 1.033-3.57 2.295-4.345.667-.413 1.583-.764 2.603-.607.437.068.884.219 1.275.368.371.144.835.398 1.275.385.298-.009.594-.165.894-.275.88-.32 1.74-.687 2.877-.514 1.365.207 2.334.818 2.933 1.76-1.155.74-2.068 1.855-1.912 3.76.138 1.73 1.137 2.742 2.385 3.338z\",\n fill: \"#FFF\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIos);\nexport default __webpack_public_path__ + \"static/media/ios.1be1267a0da8e718fb07e270e018e43f.svg\";\nexport { ForwardRef as ReactComponent };","import { Link } from 'react-router-dom';\r\n\r\nimport playstation from '../../../resources/img/icons/playstation.svg';\r\nimport xbox from '../../../resources/img/icons/xbox.svg';\r\nimport pc from '../../../resources/img/icons/windows.svg';\r\nimport android from '../../../resources/img/icons/android.svg';\r\nimport nintendo from '../../../resources/img/icons/nintendo.svg';\r\nimport apple from '../../../resources/img/icons/ios.svg';\r\n\r\nimport './platforms.scss';\r\n\r\nconst Platforms = ({platforms}) => {\r\n const usedIcons = {};\r\n const platformIcons = {\r\n 'PlayStation 5': playstation,\r\n 'PlayStation 4': playstation,\r\n 'PlayStation 3': playstation,\r\n 'PS Vita': playstation,\r\n 'Xbox Series S/X': xbox,\r\n 'Xbox 360': xbox,\r\n 'Xbox One': xbox,\r\n 'Android': android,\r\n 'Nintendo Switch': nintendo,\r\n 'iOS': apple,\r\n 'macOS': apple,\r\n 'PC': pc,\r\n 'Linux': pc\r\n };\r\n\r\n return (\r\n <ul className=\"platforms\">\r\n {platforms !== null\r\n ? platforms.map((platform, index) => {\r\n const iconPath = platformIcons[platform.platform.name];\r\n if (iconPath && !usedIcons[iconPath]) { // if icon has not been displayed yet\r\n usedIcons[iconPath] = true;\r\n return <li key={index} className=\"platform\"><Link to={`/platforms/${platform.platform.id}`}><img src={platformIcons[platform.platform.name]} alt=\"platform-icon\" /></Link></li>;\r\n } else {\r\n return null;\r\n }\r\n })\r\n : null\r\n }\r\n </ul>\r\n );\r\n};\r\n\r\nexport default Platforms;","export const formatRating = (ratingString) => {\r\n const formattedRating = parseFloat(ratingString).toFixed(2);\r\n // Проверяем, есть ли входное значение десятичное значение\r\n if (formattedRating.split(\".\")[0] === \"00\") {\r\n return formattedRating + \".00\";\r\n } else {\r\n return formattedRating;\r\n }\r\n}","import React from 'react';\r\nimport { formatRating } from '../../../utils/formatRating';\r\n\r\nimport './ratings.scss';\r\n\r\nconst Ratings = ({type, rating, metacritic}) => {\r\n let ratingStatus = '';\r\n let metacriticStatus = '';\r\n\r\n if (type === 'metacritic') {\r\n switch(true) {\r\n case (metacritic >= 80):\r\n metacriticStatus = 'greenRating';\r\n break;\r\n case (metacritic < 80 && metacritic > 50):\r\n metacriticStatus = 'orangeRating';\r\n break;\r\n case (metacritic <= 50):\r\n metacriticStatus = 'redRating';\r\n break;\r\n default: return null;\r\n }\r\n }\r\n\r\n if (type === 'rating') {\r\n switch(true) {\r\n case (rating >= 4.0):\r\n ratingStatus = 'greenRating';\r\n break;\r\n case (rating < 5.0 && rating >= 3.0):\r\n ratingStatus = 'orangeRating';\r\n break;\r\n case (rating < 3.0):\r\n ratingStatus = 'redRating';\r\n break;\r\n default: return null;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {type === 'rating' \r\n ? rating === 0 ? <span className=\"rating-none\">none</span> : <span className={\"label-rating \" + ratingStatus}>{formatRating(rating)}</span>\r\n : metacritic === null ? <span className=\"rating-none\">none</span> : <span className={\"label-metacritic \" + metacriticStatus}>{metacritic}</span>\r\n }\r\n </>\r\n );\r\n};\r\n\r\nexport default Ratings;","var _path, _path2;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAddWhite24Dp(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n width: \"24px\",\n fill: \"#FFFFFF\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAddWhite24Dp);\nexport default __webpack_public_path__ + \"static/media/add_white_24dp.197a2501aa3068d097db4c47c4d5803e.svg\";\nexport { ForwardRef as ReactComponent };","import { Link } from \"react-router-dom\";\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\n\r\nimport Platforms from \"../UI/Platforms/Platforms\";\r\nimport Ratings from \"../UI/Ratings/Ratings\";\r\n\r\nimport plus from '../../resources/img/icons/add_white_24dp.svg';\r\n\r\nimport './gameItem.scss';\r\n\r\nconst GameItem = ({game}) => {\r\n \r\n return (\r\n <div className=\"game-item\">\r\n <div className=\"game-item__photo\">\r\n {game.background_image === null \r\n ? <img src=\"http://dummyimage.com/290x180.png/99cccc&text=No+Image\" alt=\"game\" />\r\n : <LazyLoadImage src={game.background_image}\r\n width={320} height={180}\r\n placeholderSrc={'https://via.placeholder.com/320x180/f2f2f2/969696.jpeg?text=+'}\r\n effect=\"blur\"\r\n />\r\n }\r\n </div>\r\n <div className=\"game-item__content\">\r\n <Platforms platforms={game.platforms}/>\r\n <Link to={`/games/${game.slug}`} className=\"game-item__name\">{game.name}</Link>\r\n {game.released === null \r\n ? <div className=\"game-item__released\"><span className=\"label-none\">Released: </span><span className=\"released-none\">none</span></div>\r\n : <div className=\"game-item__released\"><span className=\"label\">Released: </span>{game.released}</div>\r\n }\r\n <div className=\"game-item__rating\">\r\n <span className=\"label\">Rating: </span>\r\n <Ratings type={'rating'} rating={game.rating}/>\r\n </div>\r\n <div className=\"game-item__metacritic\">\r\n <span className=\"label\">Metacritic: </span>\r\n <Ratings type={'metacritic'} metacritic={game.metacritic}/>\r\n </div>\r\n <div className=\"game-item__panel\">\r\n <div className=\"game-item__added\">\r\n <span className=\"game-item__added__icon\">\r\n <img src={plus} alt=\"plus-icon\" />\r\n </span>\r\n <span className=\"label-added\">{game.added}</span>\r\n </div>\r\n <div className=\"game-item__details\">\r\n <Link to={`/games/${game.slug}`} className=\"game-item__button\">Details</Link>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameItem;","\r\nimport { memo } from \"react\";\r\nimport GameItem from \"../GameItem/GameItem\";\r\n\r\nimport './gamesList.scss';\r\n\r\nconst GamesList = ({gamesList, displayMode}) => {\r\n return (\r\n <div className=\"games-list\">\r\n <ul className={displayMode === 'column' ? 'games-list__ul column' : 'games-list__ul list'}>\r\n {gamesList.map(game => {\r\n return (\r\n <li key={game.id} className={displayMode === 'column' ? 'games-list__li default' : 'games-list__li big'}>\r\n <GameItem game={game}/>\r\n </li>\r\n )\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n};\r\n\r\nexport default memo(GamesList);","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useState, useCallback } from 'react';\n\nvar _excluded = [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\", \"inputValue\", \"menuIsOpen\", \"onChange\", \"onInputChange\", \"onMenuClose\", \"onMenuOpen\", \"value\"];\nfunction useStateManager(_ref) {\n var _ref$defaultInputValu = _ref.defaultInputValue,\n defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu,\n _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen,\n defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue,\n propsInputValue = _ref.inputValue,\n propsMenuIsOpen = _ref.menuIsOpen,\n propsOnChange = _ref.onChange,\n propsOnInputChange = _ref.onInputChange,\n propsOnMenuClose = _ref.onMenuClose,\n propsOnMenuOpen = _ref.onMenuOpen,\n propsValue = _ref.value,\n restSelectProps = _objectWithoutProperties(_ref, _excluded);\n var _useState = useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue),\n _useState2 = _slicedToArray(_useState, 2),\n stateInputValue = _useState2[0],\n setStateInputValue = _useState2[1];\n var _useState3 = useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),\n _useState4 = _slicedToArray(_useState3, 2),\n stateMenuIsOpen = _useState4[0],\n setStateMenuIsOpen = _useState4[1];\n var _useState5 = useState(propsValue !== undefined ? propsValue : defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n stateValue = _useState6[0],\n setStateValue = _useState6[1];\n var onChange = useCallback(function (value, actionMeta) {\n if (typeof propsOnChange === 'function') {\n propsOnChange(value, actionMeta);\n }\n setStateValue(value);\n }, [propsOnChange]);\n var onInputChange = useCallback(function (value, actionMeta) {\n var newValue;\n if (typeof propsOnInputChange === 'function') {\n newValue = propsOnInputChange(value, actionMeta);\n }\n setStateInputValue(newValue !== undefined ? newValue : value);\n }, [propsOnInputChange]);\n var onMenuOpen = useCallback(function () {\n if (typeof propsOnMenuOpen === 'function') {\n propsOnMenuOpen();\n }\n setStateMenuIsOpen(true);\n }, [propsOnMenuOpen]);\n var onMenuClose = useCallback(function () {\n if (typeof propsOnMenuClose === 'function') {\n propsOnMenuClose();\n }\n setStateMenuIsOpen(false);\n }, [propsOnMenuClose]);\n var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue;\n var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen;\n var value = propsValue !== undefined ? propsValue : stateValue;\n return _objectSpread(_objectSpread({}, restSelectProps), {}, {\n inputValue: inputValue,\n menuIsOpen: menuIsOpen,\n onChange: onChange,\n onInputChange: onInputChange,\n onMenuClose: onMenuClose,\n onMenuOpen: onMenuOpen,\n value: value\n });\n}\n\nexport { useStateManager as u };\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import * as React from 'react';\nimport { useLayoutEffect } from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.6\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": \"./macro.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.10.6\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.6\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.6\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": \"./macro.js\"\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from <ClassNames/> component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","function t(t){return t.split(\"-\")[1]}function e(t){return\"y\"===t?\"height\":\"width\"}function n(t){return t.split(\"-\")[0]}function o(t){return[\"top\",\"bottom\"].includes(n(t))?\"x\":\"y\"}function i(i,r,a){let{reference:l,floating:s}=i;const c=l.x+l.width/2-s.width/2,f=l.y+l.height/2-s.height/2,m=o(r),u=e(m),g=l[u]/2-s[u]/2,d=\"x\"===m;let p;switch(n(r)){case\"top\":p={x:c,y:l.y-s.height};break;case\"bottom\":p={x:c,y:l.y+l.height};break;case\"right\":p={x:l.x+l.width,y:f};break;case\"left\":p={x:l.x-s.width,y:f};break;default:p={x:l.x,y:l.y}}switch(t(r)){case\"start\":p[m]-=g*(a&&d?-1:1);break;case\"end\":p[m]+=g*(a&&d?-1:1)}return p}const r=async(t,e,n)=>{const{placement:o=\"bottom\",strategy:r=\"absolute\",middleware:a=[],platform:l}=n,s=a.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let f=await l.getElementRects({reference:t,floating:e,strategy:r}),{x:m,y:u}=i(f,o,c),g=o,d={},p=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:y,y:x,data:w,reset:v}=await h({x:m,y:u,initialPlacement:o,placement:g,strategy:r,middlewareData:d,rects:f,platform:l,elements:{reference:t,floating:e}});m=null!=y?y:m,u=null!=x?x:u,d={...d,[a]:{...d[a],...w}},v&&p<=50&&(p++,\"object\"==typeof v&&(v.placement&&(g=v.placement),v.rects&&(f=!0===v.rects?await l.getElementRects({reference:t,floating:e,strategy:r}):v.rects),({x:m,y:u}=i(f,g,c))),n=-1)}return{x:m,y:u,placement:g,strategy:r,middlewareData:d}};function a(t){return\"number\"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function l(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function s(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:s,elements:c,strategy:f}=t,{boundary:m=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:g=\"floating\",altBoundary:d=!1,padding:p=0}=e,h=a(p),y=c[d?\"floating\"===g?\"reference\":\"floating\":g],x=l(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(y)))||n?y:y.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(c.floating)),boundary:m,rootBoundary:u,strategy:f})),w=\"floating\"===g?{...s.floating,x:o,y:i}:s.reference,v=await(null==r.getOffsetParent?void 0:r.getOffsetParent(c.floating)),b=await(null==r.isElement?void 0:r.isElement(v))&&await(null==r.getScale?void 0:r.getScale(v))||{x:1,y:1},R=l(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:v,strategy:f}):w);return{top:(x.top-R.top+h.top)/b.y,bottom:(R.bottom-x.bottom+h.bottom)/b.y,left:(x.left-R.left+h.left)/b.x,right:(R.right-x.right+h.right)/b.x}}const c=Math.min,f=Math.max;function m(t,e,n){return f(t,c(e,n))}const u=n=>({name:\"arrow\",options:n,async fn(i){const{element:r,padding:l=0}=n||{},{x:s,y:c,placement:f,rects:u,platform:g,elements:d}=i;if(null==r)return{};const p=a(l),h={x:s,y:c},y=o(f),x=e(y),w=await g.getDimensions(r),v=\"y\"===y,b=v?\"top\":\"left\",R=v?\"bottom\":\"right\",A=v?\"clientHeight\":\"clientWidth\",P=u.reference[x]+u.reference[y]-h[y]-u.floating[x],T=h[y]-u.reference[y],O=await(null==g.getOffsetParent?void 0:g.getOffsetParent(r));let E=O?O[A]:0;E&&await(null==g.isElement?void 0:g.isElement(O))||(E=d.floating[A]||u.floating[x]);const D=P/2-T/2,L=p[b],k=E-w[x]-p[R],B=E/2-w[x]/2+D,C=m(L,B,k),H=null!=t(f)&&B!=C&&u.reference[x]/2-(B<L?p[b]:p[R])-w[x]/2<0;return{[y]:h[y]-(H?B<L?L-B:k-B:0),data:{[y]:C,centerOffset:B-C}}}}),g=[\"top\",\"right\",\"bottom\",\"left\"],d=g.reduce(((t,e)=>t.concat(e,e+\"-start\",e+\"-end\")),[]),p={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function h(t){return t.replace(/left|right|bottom|top/g,(t=>p[t]))}function y(n,i,r){void 0===r&&(r=!1);const a=t(n),l=o(n),s=e(l);let c=\"x\"===l?a===(r?\"end\":\"start\")?\"right\":\"left\":\"start\"===a?\"bottom\":\"top\";return i.reference[s]>i.floating[s]&&(c=h(c)),{main:c,cross:h(c)}}const x={start:\"end\",end:\"start\"};function w(t){return t.replace(/start|end/g,(t=>x[t]))}const v=function(e){return void 0===e&&(e={}),{name:\"autoPlacement\",options:e,async fn(o){var i,r,a;const{rects:l,middlewareData:c,placement:f,platform:m,elements:u}=o,{crossAxis:g=!1,alignment:p,allowedPlacements:h=d,autoAlignment:x=!0,...v}=e,b=void 0!==p||h===d?function(e,o,i){return(e?[...i.filter((n=>t(n)===e)),...i.filter((n=>t(n)!==e))]:i.filter((t=>n(t)===t))).filter((n=>!e||t(n)===e||!!o&&w(n)!==n))}(p||null,x,h):h,R=await s(o,v),A=(null==(i=c.autoPlacement)?void 0:i.index)||0,P=b[A];if(null==P)return{};const{main:T,cross:O}=y(P,l,await(null==m.isRTL?void 0:m.isRTL(u.floating)));if(f!==P)return{reset:{placement:b[0]}};const E=[R[n(P)],R[T],R[O]],D=[...(null==(r=c.autoPlacement)?void 0:r.overflows)||[],{placement:P,overflows:E}],L=b[A+1];if(L)return{data:{index:A+1,overflows:D},reset:{placement:L}};const k=D.map((e=>{const n=t(e.placement);return[e.placement,n&&g?e.overflows.slice(0,2).reduce(((t,e)=>t+e),0):e.overflows[0],e.overflows]})).sort(((t,e)=>t[1]-e[1])),B=(null==(a=k.filter((e=>e[2].slice(0,t(e[0])?2:3).every((t=>t<=0))))[0])?void 0:a[0])||k[0][0];return B!==f?{data:{index:A+1,overflows:D},reset:{placement:B}}:{}}}};const b=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(o){var i;const{placement:r,middlewareData:a,rects:l,initialPlacement:c,platform:f,elements:m}=o,{mainAxis:u=!0,crossAxis:g=!0,fallbackPlacements:d,fallbackStrategy:p=\"bestFit\",fallbackAxisSideDirection:x=\"none\",flipAlignment:v=!0,...b}=e,R=n(r),A=n(c)===c,P=await(null==f.isRTL?void 0:f.isRTL(m.floating)),T=d||(A||!v?[h(c)]:function(t){const e=h(t);return[w(t),e,w(e)]}(c));d||\"none\"===x||T.push(...function(e,o,i,r){const a=t(e);let l=function(t,e,n){const o=[\"left\",\"right\"],i=[\"right\",\"left\"],r=[\"top\",\"bottom\"],a=[\"bottom\",\"top\"];switch(t){case\"top\":case\"bottom\":return n?e?i:o:e?o:i;case\"left\":case\"right\":return e?r:a;default:return[]}}(n(e),\"start\"===i,r);return a&&(l=l.map((t=>t+\"-\"+a)),o&&(l=l.concat(l.map(w)))),l}(c,v,x,P));const O=[c,...T],E=await s(o,b),D=[];let L=(null==(i=a.flip)?void 0:i.overflows)||[];if(u&&D.push(E[R]),g){const{main:t,cross:e}=y(r,l,P);D.push(E[t],E[e])}if(L=[...L,{placement:r,overflows:D}],!D.every((t=>t<=0))){var k,B;const t=((null==(k=a.flip)?void 0:k.index)||0)+1,e=O[t];if(e)return{data:{index:t,overflows:L},reset:{placement:e}};let n=null==(B=L.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:B.placement;if(!n)switch(p){case\"bestFit\":{var C;const t=null==(C=L.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:C[0];t&&(n=t);break}case\"initialPlacement\":n=c}if(r!==n)return{reset:{placement:n}}}return{}}}};function R(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function A(t){return g.some((e=>t[e]>=0))}const P=function(t){return void 0===t&&(t={}),{name:\"hide\",options:t,async fn(e){const{strategy:n=\"referenceHidden\",...o}=t,{rects:i}=e;switch(n){case\"referenceHidden\":{const t=R(await s(e,{...o,elementContext:\"reference\"}),i.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:A(t)}}}case\"escaped\":{const t=R(await s(e,{...o,altBoundary:!0}),i.floating);return{data:{escapedOffsets:t,escaped:A(t)}}}default:return{}}}}},T=function(t){return void 0===t&&(t={}),{name:\"inline\",options:t,async fn(e){const{placement:i,elements:r,rects:s,platform:m,strategy:u}=e,{padding:g=2,x:d,y:p}=t,h=l(m.convertOffsetParentRelativeRectToViewportRelativeRect?await m.convertOffsetParentRelativeRectToViewportRelativeRect({rect:s.reference,offsetParent:await(null==m.getOffsetParent?void 0:m.getOffsetParent(r.floating)),strategy:u}):s.reference),y=await(null==m.getClientRects?void 0:m.getClientRects(r.reference))||[],x=a(g);const w=await m.getElementRects({reference:{getBoundingClientRect:function(){if(2===y.length&&y[0].left>y[1].right&&null!=d&&null!=p)return y.find((t=>d>t.left-x.left&&d<t.right+x.right&&p>t.top-x.top&&p<t.bottom+x.bottom))||h;if(y.length>=2){if(\"x\"===o(i)){const t=y[0],e=y[y.length-1],o=\"top\"===n(i),r=t.top,a=e.bottom,l=o?t.left:e.left,s=o?t.right:e.right;return{top:r,bottom:a,left:l,right:s,width:s-l,height:a-r,x:l,y:r}}const t=\"left\"===n(i),e=f(...y.map((t=>t.right))),r=c(...y.map((t=>t.left))),a=y.filter((n=>t?n.left===r:n.right===e)),l=a[0].top,s=a[a.length-1].bottom;return{top:l,bottom:s,left:r,right:e,width:e-r,height:s-l,x:r,y:l}}return h}},floating:r.floating,strategy:u});return s.reference.x!==w.reference.x||s.reference.y!==w.reference.y||s.reference.width!==w.reference.width||s.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}};const O=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(i){const{x:r,y:a}=i,l=await async function(e,i){const{placement:r,platform:a,elements:l}=e,s=await(null==a.isRTL?void 0:a.isRTL(l.floating)),c=n(r),f=t(r),m=\"x\"===o(r),u=[\"left\",\"top\"].includes(c)?-1:1,g=s&&m?-1:1,d=\"function\"==typeof i?i(e):i;let{mainAxis:p,crossAxis:h,alignmentAxis:y}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return f&&\"number\"==typeof y&&(h=\"end\"===f?-1*y:y),m?{x:h*g,y:p*u}:{x:p*u,y:h*g}}(i,e);return{x:r+l.x,y:a+l.y,data:l}}}};function E(t){return\"x\"===t?\"y\":\"x\"}const D=function(t){return void 0===t&&(t={}),{name:\"shift\",options:t,async fn(e){const{x:i,y:r,placement:a}=e,{mainAxis:l=!0,crossAxis:c=!1,limiter:f={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...u}=t,g={x:i,y:r},d=await s(e,u),p=o(n(a)),h=E(p);let y=g[p],x=g[h];if(l){const t=\"y\"===p?\"bottom\":\"right\";y=m(y+d[\"y\"===p?\"top\":\"left\"],y,y-d[t])}if(c){const t=\"y\"===h?\"bottom\":\"right\";x=m(x+d[\"y\"===h?\"top\":\"left\"],x,x-d[t])}const w=f.fn({...e,[p]:y,[h]:x});return{...w,data:{x:w.x-i,y:w.y-r}}}}},L=function(t){return void 0===t&&(t={}),{options:t,fn(e){const{x:i,y:r,placement:a,rects:l,middlewareData:s}=e,{offset:c=0,mainAxis:f=!0,crossAxis:m=!0}=t,u={x:i,y:r},g=o(a),d=E(g);let p=u[g],h=u[d];const y=\"function\"==typeof c?c(e):c,x=\"number\"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const t=\"y\"===g?\"height\":\"width\",e=l.reference[g]-l.floating[t]+x.mainAxis,n=l.reference[g]+l.reference[t]-x.mainAxis;p<e?p=e:p>n&&(p=n)}if(m){var w,v;const t=\"y\"===g?\"width\":\"height\",e=[\"top\",\"left\"].includes(n(a)),o=l.reference[d]-l.floating[t]+(e&&(null==(w=s.offset)?void 0:w[d])||0)+(e?0:x.crossAxis),i=l.reference[d]+l.reference[t]+(e?0:(null==(v=s.offset)?void 0:v[d])||0)-(e?x.crossAxis:0);h<o?h=o:h>i&&(h=i)}return{[g]:p,[d]:h}}}},k=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(i){const{placement:r,rects:a,platform:l,elements:m}=i,{apply:u=(()=>{}),...g}=e,d=await s(i,g),p=n(r),h=t(r),y=\"x\"===o(r),{width:x,height:w}=a.floating;let v,b;\"top\"===p||\"bottom\"===p?(v=p,b=h===(await(null==l.isRTL?void 0:l.isRTL(m.floating))?\"start\":\"end\")?\"left\":\"right\"):(b=p,v=\"end\"===h?\"top\":\"bottom\");const R=w-d[v],A=x-d[b];let P=R,T=A;if(y?T=c(x-d.right-d.left,A):P=c(w-d.bottom-d.top,R),!i.middlewareData.shift&&!h){const t=f(d.left,0),e=f(d.right,0),n=f(d.top,0),o=f(d.bottom,0);y?T=x-2*(0!==t||0!==e?t+e:f(d.left,d.right)):P=w-2*(0!==n||0!==o?n+o:f(d.top,d.bottom))}await u({...i,availableWidth:T,availableHeight:P});const O=await l.getDimensions(m.floating);return x!==O.width||w!==O.height?{reset:{rects:!0}}:{}}}};export{u as arrow,v as autoPlacement,r as computePosition,s as detectOverflow,b as flip,P as hide,T as inline,L as limitShift,O as offset,l as rectToClientRect,D as shift,k as size};\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(e,o,i,r){var l,c;void 0===o&&(o=!1),void 0===i&&(i=!1);const s=e.getBoundingClientRect(),f=v(e);let u=b;o&&(r?d(r)&&(u=L(r)):u=L(e));const a=f?n(f):window,h=x()&&i;let p=(s.left+(h&&(null==(l=a.visualViewport)?void 0:l.offsetLeft)||0))/u.x,g=(s.top+(h&&(null==(c=a.visualViewport)?void 0:c.offsetTop)||0))/u.y,m=s.width/u.x,y=s.height/u.y;if(f){const t=n(f),e=r&&d(r)?n(r):r;let o=t.frameElement;for(;o&&r&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,p*=t.x,g*=t.y,m*=t.x,y*=t.y,p+=e.x,g+=e.y,o=n(o).frameElement}}return t({width:m,height:y,x:p,y:g})}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){let c;if(\"viewport\"===i)c=function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(!t||t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l);else if(\"document\"===i)c=function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e));else if(d(i))c=function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l);else{const t={...i};if(x()){var s,f;const o=n(e);t.x-=(null==(s=o.visualViewport)?void 0:s.offsetLeft)||0,t.y-=(null==(f=o.visualViewport)?void 0:f.offsetTop)||0}c=t}return t(c)}function A(t,e){return a(t)&&\"fixed\"!==o(t).position?e?e(t):t.offsetParent:null}function H(t,e){const i=n(t);if(!a(t))return i;let r=A(t,e);for(;r&&m(r)&&\"static\"===o(r).position;)r=A(r,e);return r&&(\"html\"===s(r)||\"body\"===s(r)&&\"static\"===o(r).position&&!y(r))?i:r||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||i}function V(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const O={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);\"fixed\"===t.position?r=null:(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:V(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function P(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const z=(t,n,o)=>{const i=new Map,r={platform:O,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{P as autoUpdate,z as computePosition,D as getOverflowAncestors,O as platform};\n","import { useLayoutEffect } from 'react';\n\nvar index = useLayoutEffect ;\n\nexport default index;\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import { u as useStateManager } from './useStateManager-7e1e8489.esm.js';\nexport { u as useStateManager } from './useStateManager-7e1e8489.esm.js';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { S as Select } from './Select-40119e12.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-40119e12.esm.js';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nexport { c as components } from './index-a86253bb.esm.js';\nimport '@babel/runtime/helpers/objectSpread2';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/classCallCheck';\nimport '@babel/runtime/helpers/createClass';\nimport '@babel/runtime/helpers/inherits';\nimport '@babel/runtime/helpers/createSuper';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport 'memoize-one';\nimport '@babel/runtime/helpers/typeof';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\nimport '@floating-ui/dom';\nimport 'use-isomorphic-layout-effect';\n\nvar StateManagedSelect = /*#__PURE__*/forwardRef(function (props, ref) {\n var baseSelectProps = useStateManager(props);\n return /*#__PURE__*/React.createElement(Select, _extends({\n ref: ref\n }, baseSelectProps));\n});\n\nvar NonceProvider = (function (_ref) {\n var nonce = _ref.nonce,\n children = _ref.children,\n cacheKey = _ref.cacheKey;\n var emotionCache = useMemo(function () {\n return createCache({\n key: cacheKey,\n nonce: nonce\n });\n }, [cacheKey, nonce]);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, children);\n});\n\nexport default StateManagedSelect;\nexport { NonceProvider };\n","\r\nimport Select from 'react-select';\r\nimport './mySelect.scss';\r\n\r\nconst MySelect = ({options, defaultValue, value, onChange}) => {\r\n const selectOptions = options.map((option) => ({\r\n value: option.value,\r\n label: option.name,\r\n }));\r\n\r\n const selectValue = selectOptions.find((option) => option.value === value);\r\n return (\r\n <div className=\"my-select__wrapper\">\r\n <Select\r\n className=\"my-select\"\r\n classNamePrefix=\"my-select\"\r\n defaultValue={{ value: '', label: defaultValue }}\r\n options={selectOptions}\r\n value={selectValue}\r\n isSearchable={false}\r\n onChange={(selectedOption) => onChange(selectedOption.value)}\r\n \r\n />\r\n </div> \r\n );\r\n};\r\n\r\nexport default MySelect;","export var DEFAULT_COLOR = '#4fa94d';\nexport var DEFAULT_WAI_ARIA_ATTRIBUTE = {\n 'aria-busy': true,\n role: 'status',\n};\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","// @flow\nimport type { Interpolation } from '../types';\n\nexport default (\n strings: Array<string>,\n interpolations: Array<Interpolation>\n): Array<Interpolation> => {\n const result = [strings[0]];\n\n for (let i = 0, len = interpolations.length; i < len; i += 1) {\n result.push(interpolations[i], strings[i + 1]);\n }\n\n return result;\n};\n","// @flow\nimport { typeOf } from 'react-is';\n\nexport default (x: any): boolean =>\n x !== null &&\n typeof x === 'object' &&\n (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' &&\n !typeOf(x);\n","// @flow\nexport const EMPTY_ARRAY = Object.freeze([]);\nexport const EMPTY_OBJECT = Object.freeze({});\n","// @flow\nexport default function isFunction(test: any): boolean %checks {\n return typeof test === 'function';\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function getComponentName(\n target: $PropertyType<IStyledComponent, 'target'>\n): string {\n return (\n (process.env.NODE_ENV !== 'production' ? typeof target === 'string' && target : false) ||\n // $FlowFixMe\n target.displayName ||\n // $FlowFixMe\n target.name ||\n 'Component'\n );\n}\n","// @flow\nexport default function isStyledComponent(target: any): boolean %checks {\n return target && typeof target.styledComponentId === 'string';\n}\n","// @flow\n\ndeclare var SC_DISABLE_SPEEDY: ?boolean;\ndeclare var __VERSION__: string;\n\nexport const SC_ATTR: string =\n (typeof process !== 'undefined' &&\n typeof process.env !== 'undefined' &&\n (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR)) ||\n 'data-styled';\n\nexport const SC_ATTR_ACTIVE = 'active';\nexport const SC_ATTR_VERSION = 'data-styled-version';\nexport const SC_VERSION = __VERSION__;\nexport const SPLITTER = '/*!sc*/\\n';\n\nexport const IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\n\nexport const DISABLE_SPEEDY = Boolean(\n typeof SC_DISABLE_SPEEDY === 'boolean'\n ? SC_DISABLE_SPEEDY\n : typeof process !== 'undefined' && typeof process.env !== 'undefined'\n ? typeof process.env.REACT_APP_SC_DISABLE_SPEEDY !== 'undefined' &&\n process.env.REACT_APP_SC_DISABLE_SPEEDY !== ''\n ? process.env.REACT_APP_SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.REACT_APP_SC_DISABLE_SPEEDY\n : typeof process.env.SC_DISABLE_SPEEDY !== 'undefined' && process.env.SC_DISABLE_SPEEDY !== ''\n ? process.env.SC_DISABLE_SPEEDY === 'false'\n ? false\n : process.env.SC_DISABLE_SPEEDY\n : process.env.NODE_ENV !== 'production'\n : false\n);\n\n// Shared empty execution context when generating static styles\nexport const STATIC_EXECUTION_CONTEXT = {};\n","// @flow\nimport errorMap from './errors';\n\nconst ERRORS = process.env.NODE_ENV !== 'production' ? errorMap : {};\n\n/**\n * super basic version of sprintf\n */\nfunction format(...args) {\n let a = args[0];\n const b = [];\n\n for (let c = 1, len = args.length; c < len; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(d => {\n a = a.replace(/%[a-z]/, d);\n });\n\n return a;\n}\n\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\nexport default function throwStyledComponentsError(\n code: string | number,\n ...interpolations: Array<any>\n) {\n if (process.env.NODE_ENV === 'production') {\n throw new Error(\n `An error occurred. See https://git.io/JUIaE#${code} for more information.${\n interpolations.length > 0 ? ` Args: ${interpolations.join(', ')}` : ''\n }`\n );\n } else {\n throw new Error(format(ERRORS[code], ...interpolations).trim());\n }\n}\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport type { GroupedTag, Tag } from './types';\nimport { SPLITTER } from '../constants';\nimport throwStyledError from '../utils/error';\n\n/** Create a GroupedTag with an underlying Tag implementation */\nexport const makeGroupedTag = (tag: Tag): GroupedTag => {\n return new DefaultGroupedTag(tag);\n};\n\nconst BASE_SIZE = 1 << 9;\n\nclass DefaultGroupedTag implements GroupedTag {\n groupSizes: Uint32Array;\n\n length: number;\n\n tag: Tag;\n\n constructor(tag: Tag) {\n this.groupSizes = new Uint32Array(BASE_SIZE);\n this.length = BASE_SIZE;\n this.tag = tag;\n }\n\n indexOfGroup(group: number): number {\n let index = 0;\n for (let i = 0; i < group; i++) {\n index += this.groupSizes[i];\n }\n\n return index;\n }\n\n insertRules(group: number, rules: string[]): void {\n if (group >= this.groupSizes.length) {\n const oldBuffer = this.groupSizes;\n const oldSize = oldBuffer.length;\n\n let newSize = oldSize;\n while (group >= newSize) {\n newSize <<= 1;\n if (newSize < 0) {\n throwStyledError(16, `${group}`);\n }\n }\n\n this.groupSizes = new Uint32Array(newSize);\n this.groupSizes.set(oldBuffer);\n this.length = newSize;\n\n for (let i = oldSize; i < newSize; i++) {\n this.groupSizes[i] = 0;\n }\n }\n\n let ruleIndex = this.indexOfGroup(group + 1);\n for (let i = 0, l = rules.length; i < l; i++) {\n if (this.tag.insertRule(ruleIndex, rules[i])) {\n this.groupSizes[group]++;\n ruleIndex++;\n }\n }\n }\n\n clearGroup(group: number): void {\n if (group < this.length) {\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n this.groupSizes[group] = 0;\n\n for (let i = startIndex; i < endIndex; i++) {\n this.tag.deleteRule(startIndex);\n }\n }\n }\n\n getGroup(group: number): string {\n let css = '';\n if (group >= this.length || this.groupSizes[group] === 0) {\n return css;\n }\n\n const length = this.groupSizes[group];\n const startIndex = this.indexOfGroup(group);\n const endIndex = startIndex + length;\n\n for (let i = startIndex; i < endIndex; i++) {\n css += `${this.tag.getRule(i)}${SPLITTER}`;\n }\n\n return css;\n }\n}\n","// @flow\n\nimport throwStyledError from '../utils/error';\n\nconst MAX_SMI = 1 << 31 - 1;\n\nlet groupIDRegister: Map<string, number> = new Map();\nlet reverseRegister: Map<number, string> = new Map();\nlet nextFreeGroup = 1;\n\nexport const resetGroupIds = () => {\n groupIDRegister = new Map();\n reverseRegister = new Map();\n nextFreeGroup = 1;\n};\n\nexport const getGroupForId = (id: string): number => {\n if (groupIDRegister.has(id)) {\n return (groupIDRegister.get(id): any);\n }\n\n while (reverseRegister.has(nextFreeGroup)) {\n nextFreeGroup++;\n }\n\n const group = nextFreeGroup++;\n\n if (\n process.env.NODE_ENV !== 'production' &&\n ((group | 0) < 0 || group > MAX_SMI)\n ) {\n throwStyledError(16, `${group}`);\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n return group;\n};\n\nexport const getIdForGroup = (group: number): void | string => {\n return reverseRegister.get(group);\n};\n\nexport const setGroupForId = (id: string, group: number) => {\n if (group >= nextFreeGroup) {\n nextFreeGroup = group + 1;\n }\n\n groupIDRegister.set(id, group);\n reverseRegister.set(group, id);\n};\n","// @flow\n\nimport { SPLITTER, SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport { getIdForGroup, setGroupForId } from './GroupIDAllocator';\nimport type { Sheet } from './types';\n\nconst SELECTOR = `style[${SC_ATTR}][${SC_ATTR_VERSION}=\"${SC_VERSION}\"]`;\nconst MARKER_RE = new RegExp(`^${SC_ATTR}\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)`);\n\nexport const outputSheet = (sheet: Sheet) => {\n const tag = sheet.getTag();\n const { length } = tag;\n\n let css = '';\n for (let group = 0; group < length; group++) {\n const id = getIdForGroup(group);\n if (id === undefined) continue;\n\n const names = sheet.names.get(id);\n const rules = tag.getGroup(group);\n if (!names || !rules || !names.size) continue;\n\n const selector = `${SC_ATTR}.g${group}[id=\"${id}\"]`;\n\n let content = '';\n if (names !== undefined) {\n names.forEach(name => {\n if (name.length > 0) {\n content += `${name},`;\n }\n });\n }\n\n // NOTE: It's easier to collect rules and have the marker\n // after the actual rules to simplify the rehydration\n css += `${rules}${selector}{content:\"${content}\"}${SPLITTER}`;\n }\n\n return css;\n};\n\nconst rehydrateNamesFromContent = (sheet: Sheet, id: string, content: string) => {\n const names = content.split(',');\n let name;\n\n for (let i = 0, l = names.length; i < l; i++) {\n // eslint-disable-next-line\n if ((name = names[i])) {\n sheet.registerName(id, name);\n }\n }\n};\n\nconst rehydrateSheetFromTag = (sheet: Sheet, style: HTMLStyleElement) => {\n const parts = (style.textContent || '').split(SPLITTER);\n const rules: string[] = [];\n\n for (let i = 0, l = parts.length; i < l; i++) {\n const part = parts[i].trim();\n if (!part) continue;\n\n const marker = part.match(MARKER_RE);\n\n if (marker) {\n const group = parseInt(marker[1], 10) | 0;\n const id = marker[2];\n\n if (group !== 0) {\n // Rehydrate componentId to group index mapping\n setGroupForId(id, group);\n // Rehydrate names and rules\n // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n rehydrateNamesFromContent(sheet, id, marker[3]);\n sheet.getTag().insertRules(group, rules);\n }\n\n rules.length = 0;\n } else {\n rules.push(part);\n }\n }\n};\n\nexport const rehydrateSheet = (sheet: Sheet) => {\n const nodes = document.querySelectorAll(SELECTOR);\n\n for (let i = 0, l = nodes.length; i < l; i++) {\n const node = ((nodes[i]: any): HTMLStyleElement);\n if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n rehydrateSheetFromTag(sheet, node);\n\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n }\n }\n};\n","// @flow\n/* eslint-disable camelcase, no-undef */\n\ndeclare var __webpack_nonce__: string;\n\nconst getNonce = () => {\n return typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n};\n\nexport default getNonce;\n","// @flow\n\nimport { SC_ATTR, SC_ATTR_ACTIVE, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport getNonce from '../utils/nonce';\nimport throwStyledError from '../utils/error';\n\nconst ELEMENT_TYPE = 1; /* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\nconst findLastStyleTag = (target: HTMLElement): void | HTMLStyleElement => {\n const { childNodes } = target;\n\n for (let i = childNodes.length; i >= 0; i--) {\n const child = ((childNodes[i]: any): ?HTMLElement);\n if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n return ((child: any): HTMLStyleElement);\n }\n }\n\n return undefined;\n};\n\n/** Create a style element inside `target` or <head> after the last */\nexport const makeStyleTag = (target?: HTMLElement): HTMLStyleElement => {\n const head = ((document.head: any): HTMLElement);\n const parent = target || head;\n const style = document.createElement('style');\n const prevStyle = findLastStyleTag(parent);\n const nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n\n style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n\n const nonce = getNonce();\n\n if (nonce) style.setAttribute('nonce', nonce);\n\n parent.insertBefore(style, nextSibling);\n\n return style;\n};\n\n/** Get the CSSStyleSheet instance for a given style element */\nexport const getSheet = (tag: HTMLStyleElement): CSSStyleSheet => {\n if (tag.sheet) {\n return ((tag.sheet: any): CSSStyleSheet);\n }\n\n // Avoid Firefox quirk where the style element might not have a sheet property\n const { styleSheets } = document;\n for (let i = 0, l = styleSheets.length; i < l; i++) {\n const sheet = styleSheets[i];\n if (sheet.ownerNode === tag) {\n return ((sheet: any): CSSStyleSheet);\n }\n }\n\n throwStyledError(17);\n return (undefined: any);\n};\n","// @flow\n/* eslint-disable no-use-before-define */\n\nimport { makeStyleTag, getSheet } from './dom';\nimport type { SheetOptions, Tag } from './types';\n\n/** Create a CSSStyleSheet-like tag depending on the environment */\nexport const makeTag = ({ isServer, useCSSOMInjection, target }: SheetOptions): Tag => {\n if (isServer) {\n return new VirtualTag(target);\n } else if (useCSSOMInjection) {\n return new CSSOMTag(target);\n } else {\n return new TextTag(target);\n }\n};\n\nexport class CSSOMTag implements Tag {\n element: HTMLStyleElement;\n\n sheet: CSSStyleSheet;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n\n // Avoid Edge bug where empty style elements don't create sheets\n element.appendChild(document.createTextNode(''));\n\n this.sheet = getSheet(element);\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n try {\n this.sheet.insertRule(rule, index);\n this.length++;\n return true;\n } catch (_error) {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.sheet.deleteRule(index);\n this.length--;\n }\n\n getRule(index: number): string {\n const rule = this.sheet.cssRules[index];\n // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n if (rule !== undefined && typeof rule.cssText === 'string') {\n return rule.cssText;\n } else {\n return '';\n }\n }\n}\n\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\nexport class TextTag implements Tag {\n element: HTMLStyleElement;\n\n nodes: NodeList<Node>;\n\n length: number;\n\n constructor(target?: HTMLElement) {\n const element = (this.element = makeStyleTag(target));\n this.nodes = element.childNodes;\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length && index >= 0) {\n const node = document.createTextNode(rule);\n const refNode = this.nodes[index];\n this.element.insertBefore(node, refNode || null);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.element.removeChild(this.nodes[index]);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.nodes[index].textContent;\n } else {\n return '';\n }\n }\n}\n\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\nexport class VirtualTag implements Tag {\n rules: string[];\n\n length: number;\n\n constructor(_target?: HTMLElement) {\n this.rules = [];\n this.length = 0;\n }\n\n insertRule(index: number, rule: string): boolean {\n if (index <= this.length) {\n this.rules.splice(index, 0, rule);\n this.length++;\n return true;\n } else {\n return false;\n }\n }\n\n deleteRule(index: number): void {\n this.rules.splice(index, 1);\n this.length--;\n }\n\n getRule(index: number): string {\n if (index < this.length) {\n return this.rules[index];\n } else {\n return '';\n }\n }\n}\n","// @flow\nimport { DISABLE_SPEEDY, IS_BROWSER } from '../constants';\nimport { EMPTY_OBJECT } from '../utils/empties';\nimport { makeGroupedTag } from './GroupedTag';\nimport { getGroupForId } from './GroupIDAllocator';\nimport { outputSheet, rehydrateSheet } from './Rehydration';\nimport { makeTag } from './Tag';\nimport type { GroupedTag, Sheet, SheetOptions } from './types';\n\nlet SHOULD_REHYDRATE = IS_BROWSER;\n\ntype SheetConstructorArgs = {\n isServer?: boolean,\n useCSSOMInjection?: boolean,\n target?: HTMLElement,\n};\n\ntype GlobalStylesAllocationMap = { [key: string]: number };\ntype NamesAllocationMap = Map<string, Set<string>>;\n\nconst defaultOptions: SheetOptions = {\n isServer: !IS_BROWSER,\n useCSSOMInjection: !DISABLE_SPEEDY,\n};\n\n/** Contains the main stylesheet logic for stringification and caching */\nexport default class StyleSheet implements Sheet {\n gs: GlobalStylesAllocationMap;\n\n names: NamesAllocationMap;\n\n options: SheetOptions;\n\n server: boolean;\n\n tag: void | GroupedTag;\n\n /** Register a group ID to give it an index */\n static registerId(id: string): number {\n return getGroupForId(id);\n }\n\n constructor(\n options: SheetConstructorArgs = EMPTY_OBJECT,\n globalStyles?: GlobalStylesAllocationMap = {},\n names?: NamesAllocationMap\n ) {\n this.options = {\n ...defaultOptions,\n ...options,\n };\n\n this.gs = globalStyles;\n this.names = new Map(names);\n this.server = !!options.isServer;\n\n // We rehydrate only once and use the sheet that is created first\n if (!this.server && IS_BROWSER && SHOULD_REHYDRATE) {\n SHOULD_REHYDRATE = false;\n rehydrateSheet(this);\n }\n }\n\n reconstructWithOptions(options: SheetConstructorArgs, withNames?: boolean = true) {\n return new StyleSheet(\n { ...this.options, ...options },\n this.gs,\n (withNames && this.names) || undefined\n );\n }\n\n allocateGSInstance(id: string) {\n return (this.gs[id] = (this.gs[id] || 0) + 1);\n }\n\n /** Lazily initialises a GroupedTag for when it's actually needed */\n getTag(): GroupedTag {\n return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n }\n\n /** Check whether a name is known for caching */\n hasNameForId(id: string, name: string): boolean {\n return this.names.has(id) && (this.names.get(id): any).has(name);\n }\n\n /** Mark a group's name as known for caching */\n registerName(id: string, name: string) {\n getGroupForId(id);\n\n if (!this.names.has(id)) {\n const groupNames = new Set();\n groupNames.add(name);\n this.names.set(id, groupNames);\n } else {\n (this.names.get(id): any).add(name);\n }\n }\n\n /** Insert new rules which also marks the name as known */\n insertRules(id: string, name: string, rules: string[]) {\n this.registerName(id, name);\n this.getTag().insertRules(getGroupForId(id), rules);\n }\n\n /** Clears all cached names for a given group ID */\n clearNames(id: string) {\n if (this.names.has(id)) {\n (this.names.get(id): any).clear();\n }\n }\n\n /** Clears all rules for a given group ID */\n clearRules(id: string) {\n this.getTag().clearGroup(getGroupForId(id));\n this.clearNames(id);\n }\n\n /** Clears the entire tag which deletes all rules but not its names */\n clearTag() {\n // NOTE: This does not clear the names, since it's only used during SSR\n // so that we can continuously output only new rules\n this.tag = undefined;\n }\n\n /** Outputs the current sheet as a CSS string with markers for SSR */\n toString(): string {\n return outputSheet(this);\n }\n}\n","// @flow\n/* eslint-disable no-bitwise */\n\nconst AD_REPLACER_R = /(a)(d)/gi;\n\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\nconst charsLength = 52;\n\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\nconst getAlphabeticChar = (code: number): string =>\n String.fromCharCode(code + (code > 25 ? 39 : 97));\n\n/* input a number, usually a hash and convert it to base-52 */\nexport default function generateAlphabeticName(code: number): string {\n let name = '';\n let x;\n\n /* get a char and divide by alphabet-length */\n for (x = Math.abs(code); x > charsLength; x = (x / charsLength) | 0) {\n name = getAlphabeticChar(x % charsLength) + name;\n }\n\n return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n","// @flow\n/* eslint-disable */\n\nexport const SEED = 5381;\n\n// When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\nexport const phash = (h: number, x: string): number => {\n let i = x.length;\n\n while (i) {\n h = (h * 33) ^ x.charCodeAt(--i);\n }\n\n return h;\n};\n\n// This is a djb2 hashing function\nexport const hash = (x: string): number => {\n return phash(SEED, x);\n};\n","// @flow\nimport isFunction from './isFunction';\nimport isStyledComponent from './isStyledComponent';\nimport type { RuleSet } from '../types';\n\nexport default function isStaticRules(rules: RuleSet): boolean {\n for (let i = 0; i < rules.length; i += 1) {\n const rule = rules[i];\n\n if (isFunction(rule) && !isStyledComponent(rule)) {\n // functions are allowed to be static if they're just being\n // used to get the classname of a nested styled component\n return false;\n }\n }\n\n return true;\n}\n","// @flow\nimport { SC_VERSION } from '../constants';\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport generateName from '../utils/generateAlphabeticName';\nimport { hash, phash } from '../utils/hash';\nimport isStaticRules from '../utils/isStaticRules';\n\nconst SEED = hash(SC_VERSION);\n\n/**\n * ComponentStyle is all the CSS-specific stuff, not the React-specific stuff.\n */\nexport default class ComponentStyle {\n baseHash: number;\n\n baseStyle: ?ComponentStyle;\n\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n staticRulesId: string;\n\n constructor(rules: RuleSet, componentId: string, baseStyle?: ComponentStyle) {\n this.rules = rules;\n this.staticRulesId = '';\n this.isStatic = process.env.NODE_ENV === 'production' &&\n (baseStyle === undefined || baseStyle.isStatic) &&\n isStaticRules(rules);\n this.componentId = componentId;\n\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n this.baseHash = phash(SEED, componentId);\n\n this.baseStyle = baseStyle;\n\n // NOTE: This registers the componentId, which ensures a consistent order\n // for this component's styles compared to others\n StyleSheet.registerId(componentId);\n }\n\n /*\n * Flattens a rule set into valid CSS\n * Hashes it, wraps the whole chunk in a .hash1234 {}\n * Returns the hash to be injected on render()\n * */\n generateAndInjectStyles(executionContext: Object, styleSheet: StyleSheet, stylis: Stringifier) {\n const { componentId } = this;\n\n const names = [];\n\n if (this.baseStyle) {\n names.push(this.baseStyle.generateAndInjectStyles(executionContext, styleSheet, stylis));\n }\n\n // force dynamic classnames if user-supplied stylis plugins are in use\n if (this.isStatic && !stylis.hash) {\n if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n names.push(this.staticRulesId);\n } else {\n const cssStatic = flatten(this.rules, executionContext, styleSheet, stylis).join('');\n const name = generateName(phash(this.baseHash, cssStatic) >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssStaticFormatted = stylis(cssStatic, `.${name}`, undefined, componentId);\n\n styleSheet.insertRules(componentId, name, cssStaticFormatted);\n }\n\n names.push(name);\n this.staticRulesId = name;\n }\n } else {\n const { length } = this.rules;\n let dynamicHash = phash(this.baseHash, stylis.hash);\n let css = '';\n\n for (let i = 0; i < length; i++) {\n const partRule = this.rules[i];\n\n if (typeof partRule === 'string') {\n css += partRule;\n\n if (process.env.NODE_ENV !== 'production') dynamicHash = phash(dynamicHash, partRule + i);\n } else if (partRule) {\n const partChunk = flatten(partRule, executionContext, styleSheet, stylis);\n const partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n dynamicHash = phash(dynamicHash, partString + i);\n css += partString;\n }\n }\n\n if (css) {\n const name = generateName(dynamicHash >>> 0);\n\n if (!styleSheet.hasNameForId(componentId, name)) {\n const cssFormatted = stylis(css, `.${name}`, undefined, componentId);\n styleSheet.insertRules(componentId, name, cssFormatted);\n }\n\n names.push(name);\n }\n }\n\n return names.join(' ');\n }\n}\n","import Stylis from '@emotion/stylis';\nimport { type Stringifier } from '../types';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from './empties';\nimport throwStyledError from './error';\nimport { phash, SEED } from './hash';\nimport insertRulePlugin from './stylisPluginInsertRule';\n\nconst COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nconst COMPLEX_SELECTOR_PREFIX = [':', '[', '.', '#'];\n\ntype StylisInstanceConstructorArgs = {\n options?: Object,\n plugins?: Array<Function>,\n};\n\nexport default function createStylisInstance({\n options = EMPTY_OBJECT,\n plugins = EMPTY_ARRAY,\n}: StylisInstanceConstructorArgs = EMPTY_OBJECT) {\n const stylis = new Stylis(options);\n\n // Wrap `insertRulePlugin to build a list of rules,\n // and then make our own plugin to return the rules. This\n // makes it easier to hook into the existing SSR architecture\n\n let parsingRules = [];\n\n // eslint-disable-next-line consistent-return\n const returnRulesPlugin = context => {\n if (context === -2) {\n const parsedRules = parsingRules;\n parsingRules = [];\n return parsedRules;\n }\n };\n\n const parseRulesPlugin = insertRulePlugin(rule => {\n parsingRules.push(rule);\n });\n\n let _componentId: string;\n let _selector: string;\n let _selectorRegexp: RegExp;\n let _consecutiveSelfRefRegExp: RegExp;\n\n const selfReferenceReplacer = (match, offset, string) => {\n if (\n // do not replace the first occurrence if it is complex (has a modifier)\n (offset === 0 ? COMPLEX_SELECTOR_PREFIX.indexOf(string[_selector.length]) === -1 : true) &&\n // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n !string.match(_consecutiveSelfRefRegExp)\n ) {\n return `.${_componentId}`;\n }\n\n return match;\n };\n\n /**\n * When writing a style like\n *\n * & + & {\n * color: red;\n * }\n *\n * The second ampersand should be a reference to the static component class. stylis\n * has no knowledge of static class so we have to intelligently replace the base selector.\n *\n * https://github.com/thysultan/stylis.js/tree/v3.5.4#plugins <- more info about the context phase values\n * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n */\n const selfReferenceReplacementPlugin = (context, _, selectors) => {\n if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n // eslint-disable-next-line no-param-reassign\n selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n }\n };\n\n stylis.use([...plugins, selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]);\n\n function stringifyRules(css, selector, prefix, componentId = '&'): Stringifier {\n const flatCSS = css.replace(COMMENT_REGEX, '');\n const cssStr = selector && prefix ? `${prefix} ${selector} { ${flatCSS} }` : flatCSS;\n\n // stylis has no concept of state to be passed to plugins\n // but since JS is single-threaded, we can rely on that to ensure\n // these properties stay in sync with the current stylis run\n _componentId = componentId;\n _selector = selector;\n _selectorRegexp = new RegExp(`\\\\${_selector}\\\\b`, 'g');\n _consecutiveSelfRefRegExp = new RegExp(`(\\\\${_selector}\\\\b){2,}`);\n\n return stylis(prefix || !selector ? '' : selector, cssStr);\n }\n\n stringifyRules.hash = plugins.length\n ? plugins\n .reduce((acc, plugin) => {\n if (!plugin.name) {\n throwStyledError(15);\n }\n\n return phash(acc, plugin.name);\n }, SEED)\n .toString()\n : '';\n\n return stringifyRules;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/* eslint-disable */\n\nexport default function(insertRule) {\n const delimiter = '/*|*/';\n const needle = `${delimiter}}`;\n\n function toSheet(block) {\n if (block) {\n try {\n insertRule(`${block}}`);\n } catch (e) {}\n }\n }\n\n return function ruleSheet(\n context,\n content,\n selectors,\n parents,\n line,\n column,\n length,\n ns,\n depth,\n at\n ) {\n switch (context) {\n // property\n case 1:\n // @import\n if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(`${content};`), '';\n break;\n // selector\n case 2:\n if (ns === 0) return content + delimiter;\n break;\n // at-rule\n case 3:\n switch (ns) {\n // @font-face, @page\n case 102:\n case 112:\n return insertRule(selectors[0] + content), '';\n default:\n return content + (at === 0 ? delimiter : '');\n }\n case -2:\n content.split(needle).forEach(toSheet);\n }\n };\n}\n","// @flow\nimport React, { type Context, type Node, useContext, useEffect, useMemo, useState } from 'react';\nimport shallowequal from 'shallowequal';\nimport StyleSheet from '../sheet';\nimport type { Stringifier } from '../types';\nimport createStylisInstance from '../utils/stylis';\n\ntype Props = {\n children?: Node,\n disableCSSOMInjection?: boolean,\n disableVendorPrefixes?: boolean,\n sheet?: StyleSheet,\n stylisPlugins?: Array<Function>,\n target?: HTMLElement,\n};\n\nexport const StyleSheetContext: Context<StyleSheet | void> = React.createContext();\nexport const StyleSheetConsumer = StyleSheetContext.Consumer;\nexport const StylisContext: Context<Stringifier | void> = React.createContext();\nexport const StylisConsumer = StylisContext.Consumer;\n\nexport const masterSheet: StyleSheet = new StyleSheet();\nexport const masterStylis: Stringifier = createStylisInstance();\n\nexport function useStyleSheet(): StyleSheet {\n return useContext(StyleSheetContext) || masterSheet;\n}\n\nexport function useStylis(): Stringifier {\n return useContext(StylisContext) || masterStylis;\n}\n\nexport default function StyleSheetManager(props: Props) {\n const [plugins, setPlugins] = useState(props.stylisPlugins);\n const contextStyleSheet = useStyleSheet();\n\n const styleSheet = useMemo(() => {\n let sheet = contextStyleSheet;\n\n if (props.sheet) {\n // eslint-disable-next-line prefer-destructuring\n sheet = props.sheet;\n } else if (props.target) {\n sheet = sheet.reconstructWithOptions({ target: props.target }, false);\n }\n\n if (props.disableCSSOMInjection) {\n sheet = sheet.reconstructWithOptions({ useCSSOMInjection: false });\n }\n\n return sheet;\n }, [props.disableCSSOMInjection, props.sheet, props.target]);\n\n const stylis = useMemo(\n () =>\n createStylisInstance({\n options: { prefix: !props.disableVendorPrefixes },\n plugins,\n }),\n [props.disableVendorPrefixes, plugins]\n );\n\n useEffect(() => {\n if (!shallowequal(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n }, [props.stylisPlugins]);\n\n return (\n <StyleSheetContext.Provider value={styleSheet}>\n <StylisContext.Provider value={stylis}>\n {process.env.NODE_ENV !== 'production'\n ? React.Children.only(props.children)\n : props.children}\n </StylisContext.Provider>\n </StyleSheetContext.Provider>\n );\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport { type Stringifier } from '../types';\nimport throwStyledError from '../utils/error';\nimport { masterStylis } from './StyleSheetManager';\n\nexport default class Keyframes {\n id: string;\n\n name: string;\n\n rules: string;\n\n constructor(name: string, rules: string) {\n this.name = name;\n this.id = `sc-keyframes-${name}`;\n this.rules = rules;\n }\n\n inject = (styleSheet: StyleSheet, stylisInstance: Stringifier = masterStylis) => {\n const resolvedName = this.name + stylisInstance.hash;\n\n if (!styleSheet.hasNameForId(this.id, resolvedName)) {\n styleSheet.insertRules(\n this.id,\n resolvedName,\n stylisInstance(this.rules, resolvedName, '@keyframes')\n );\n }\n };\n\n toString = () => {\n return throwStyledError(12, String(this.name));\n };\n\n getName(stylisInstance: Stringifier = masterStylis) {\n return this.name + stylisInstance.hash;\n }\n}\n","// @flow\n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\n\nconst uppercaseCheck = /([A-Z])/;\nconst uppercasePattern = /([A-Z])/g;\nconst msPattern = /^ms-/;\nconst prefixAndLowerCase = (char: string): string => `-${char.toLowerCase()}`;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nexport default function hyphenateStyleName(string: string): string {\n return uppercaseCheck.test(string)\n ? string\n .replace(uppercasePattern, prefixAndLowerCase)\n .replace(msPattern, '-ms-')\n : string;\n}\n","// @flow\nimport { isElement } from 'react-is';\nimport getComponentName from './getComponentName';\nimport isFunction from './isFunction';\nimport isStatelessFunction from './isStatelessFunction';\nimport isPlainObject from './isPlainObject';\nimport isStyledComponent from './isStyledComponent';\nimport Keyframes from '../models/Keyframes';\nimport hyphenate from './hyphenateStyleName';\nimport addUnitIfNeeded from './addUnitIfNeeded';\nimport { type Stringifier } from '../types';\n\n/**\n * It's falsish not falsy because 0 is allowed.\n */\nconst isFalsish = chunk => chunk === undefined || chunk === null || chunk === false || chunk === '';\n\nexport const objToCssArray = (obj: Object, prevKey?: string): Array<string | Function> => {\n const rules = [];\n\n for (const key in obj) {\n if (!obj.hasOwnProperty(key) || isFalsish(obj[key])) continue;\n\n if ((Array.isArray(obj[key]) && obj[key].isCss) || isFunction(obj[key])) {\n rules.push(`${hyphenate(key)}:`, obj[key], ';');\n } else if (isPlainObject(obj[key])) {\n rules.push(...objToCssArray(obj[key], key));\n } else {\n rules.push(`${hyphenate(key)}: ${addUnitIfNeeded(key, obj[key])};`);\n }\n }\n\n return prevKey ? [`${prevKey} {`, ...rules, '}'] : rules;\n};\n\nexport default function flatten(\n chunk: any,\n executionContext: ?Object,\n styleSheet: ?Object,\n stylisInstance: ?Stringifier\n): any {\n if (Array.isArray(chunk)) {\n const ruleSet = [];\n\n for (let i = 0, len = chunk.length, result; i < len; i += 1) {\n result = flatten(chunk[i], executionContext, styleSheet, stylisInstance);\n\n if (result === '') continue;\n else if (Array.isArray(result)) ruleSet.push(...result);\n else ruleSet.push(result);\n }\n\n return ruleSet;\n }\n\n if (isFalsish(chunk)) {\n return '';\n }\n\n /* Handle other components */\n if (isStyledComponent(chunk)) {\n return `.${chunk.styledComponentId}`;\n }\n\n /* Either execute or defer the function */\n if (isFunction(chunk)) {\n if (isStatelessFunction(chunk) && executionContext) {\n const result = chunk(executionContext);\n\n if (process.env.NODE_ENV !== 'production' && isElement(result)) {\n // eslint-disable-next-line no-console\n console.warn(\n `${getComponentName(\n chunk\n )} is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.`\n );\n }\n\n return flatten(result, executionContext, styleSheet, stylisInstance);\n } else return chunk;\n }\n\n if (chunk instanceof Keyframes) {\n if (styleSheet) {\n chunk.inject(styleSheet, stylisInstance);\n return chunk.getName(stylisInstance);\n } else return chunk;\n }\n\n /* Handle objects */\n return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n","// @flow\nexport default function isStatelessFunction(test: any): boolean {\n return (\n typeof test === 'function'\n && !(\n test.prototype\n && test.prototype.isReactComponent\n )\n );\n}\n","// @flow\nimport unitless from '@emotion/unitless';\n\n// Taken from https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/shared/dangerousStyleValue.js\nexport default function addUnitIfNeeded(name: string, value: any): any {\n // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n // $FlowFixMe\n if (value == null || typeof value === 'boolean' || value === '') {\n return '';\n }\n\n if (typeof value === 'number' && value !== 0 && !(name in unitless)) {\n return `${value}px`; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return String(value).trim();\n}\n","// @flow\nimport interleave from '../utils/interleave';\nimport isPlainObject from '../utils/isPlainObject';\nimport { EMPTY_ARRAY } from '../utils/empties';\nimport isFunction from '../utils/isFunction';\nimport flatten from '../utils/flatten';\nimport type { Interpolation, RuleSet, Styles } from '../types';\n\n/**\n * Used when flattening object styles to determine if we should\n * expand an array of styles.\n */\nconst addTag = arg => {\n if (Array.isArray(arg)) {\n // eslint-disable-next-line no-param-reassign\n arg.isCss = true;\n }\n return arg;\n};\n\nexport default function css(styles: Styles, ...interpolations: Array<Interpolation>): RuleSet {\n if (isFunction(styles) || isPlainObject(styles)) {\n // $FlowFixMe\n return addTag(flatten(interleave(EMPTY_ARRAY, [styles, ...interpolations])));\n }\n\n if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === 'string') {\n // $FlowFixMe\n return styles;\n }\n\n // $FlowFixMe\n return addTag(flatten(interleave(styles, interpolations)));\n}\n","// @flow\n\nimport { useRef } from 'react';\n\nconst invalidHookCallRe = /invalid hook call/i;\nconst seen = new Set();\n\nexport const checkDynamicCreation = (displayName: string, componentId?: string) => {\n if (process.env.NODE_ENV !== 'production') {\n const parsedIdString = componentId ? ` with the id of \"${componentId}\"` : '';\n const message =\n `The component ${displayName}${parsedIdString} has been created dynamically.\\n` +\n \"You may see this warning because you've called styled inside another component.\\n\" +\n 'To resolve this only create new StyledComponents outside of any render method and function component.';\n\n // If a hook is called outside of a component:\n // React 17 and earlier throw an error\n // React 18 and above use console.error\n\n const originalConsoleError = console.error // eslint-disable-line no-console\n try {\n let didNotCallInvalidHook = true\n /* $FlowIgnore[cannot-write] */\n console.error = (consoleErrorMessage, ...consoleErrorArgs) => { // eslint-disable-line no-console\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(consoleErrorMessage)) {\n didNotCallInvalidHook = false\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n } else {\n originalConsoleError(consoleErrorMessage, ...consoleErrorArgs);\n }\n }\n // We purposefully call `useRef` outside of a component and expect it to throw\n // If it doesn't, then we're inside another component.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useRef();\n\n if (didNotCallInvalidHook && !seen.has(message)) {\n // eslint-disable-next-line no-console\n console.warn(message);\n seen.add(message);\n }\n } catch (error) {\n // The error here is expected, since we're expecting anything that uses `checkDynamicCreation` to\n // be called outside of a React component.\n if (invalidHookCallRe.test(error.message)) {\n // This shouldn't happen, but resets `warningSeen` if we had this error happen intermittently\n seen.delete(message);\n }\n } finally {\n /* $FlowIgnore[cannot-write] */\n console.error = originalConsoleError; // eslint-disable-line no-console\n }\n }\n};\n","// @flow\nimport { EMPTY_OBJECT } from './empties';\n\ntype Props = {\n theme?: any,\n};\n\nexport default (props: Props, providedTheme: any, defaultProps: any = EMPTY_OBJECT) => {\n return (props.theme !== defaultProps.theme && props.theme) || providedTheme || defaultProps.theme;\n};\n","// @flow\n\n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nconst escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\n\nconst dashesAtEnds = /(^-|-$)/g;\n\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\nexport default function escape(str: string): string {\n return (\n str\n // Replace all possible CSS selectors\n .replace(escapeRegex, '-')\n\n // Remove extraneous hyphens at the start and end\n .replace(dashesAtEnds, '')\n );\n}\n","// @flow\n/* eslint-disable */\nimport generateAlphabeticName from './generateAlphabeticName';\nimport { hash } from './hash';\n\nexport default (str: string): string => {\n return generateAlphabeticName(hash(str) >>> 0);\n};\n","// @flow\nimport type { IStyledComponent } from '../types';\n\nexport default function isTag(target: $PropertyType<IStyledComponent, 'target'>): boolean %checks {\n return (\n typeof target === 'string' &&\n (process.env.NODE_ENV !== 'production'\n ? target.charAt(0) === target.charAt(0).toLowerCase()\n : true)\n );\n}\n","/* eslint-disable */\n/**\n mixin-deep; https://github.com/jonschlinkert/mixin-deep\n Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n The MIT License (MIT)\n\n Copyright (c) 2014-present, Jon Schlinkert.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.\n*/\n\nconst isObject = val => {\n return (\n typeof val === 'function' || (typeof val === 'object' && val !== null && !Array.isArray(val))\n );\n};\n\nconst isValidKey = key => {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n const obj = target[key];\n if (isObject(val) && isObject(obj)) {\n mixinDeep(obj, val);\n } else {\n target[key] = val;\n }\n}\n\nexport default function mixinDeep(target, ...rest) {\n for (const obj of rest) {\n if (isObject(obj)) {\n for (const key in obj) {\n if (isValidKey(key)) {\n mixin(target, obj[key], key);\n }\n }\n }\n }\n\n return target;\n}\n","// @flow\nimport React, { useContext, useMemo, type Element, type Context } from 'react';\nimport throwStyledError from '../utils/error';\nimport isFunction from '../utils/isFunction';\n\nexport type Theme = { [key: string]: mixed };\n\ntype ThemeArgument = Theme | ((outerTheme?: Theme) => Theme);\n\ntype Props = {\n children?: Element<any>,\n theme: ThemeArgument,\n};\n\nexport const ThemeContext: Context<Theme | void> = React.createContext();\n\nexport const ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme: ThemeArgument, outerTheme?: Theme): Theme {\n if (!theme) {\n return throwStyledError(14);\n }\n\n if (isFunction(theme)) {\n const mergedTheme = theme(outerTheme);\n\n if (\n process.env.NODE_ENV !== 'production' &&\n (mergedTheme === null || Array.isArray(mergedTheme) || typeof mergedTheme !== 'object')\n ) {\n return throwStyledError(7);\n }\n\n return mergedTheme;\n }\n\n if (Array.isArray(theme) || typeof theme !== 'object') {\n return throwStyledError(8);\n }\n\n return outerTheme ? { ...outerTheme, ...theme } : theme;\n}\n\n/**\n * Provide a theme to an entire react component tree via context\n */\nexport default function ThemeProvider(props: Props) {\n const outerTheme = useContext(ThemeContext);\n const themeContext = useMemo(() => mergeTheme(props.theme, outerTheme), [\n props.theme,\n outerTheme,\n ]);\n\n if (!props.children) {\n return null;\n }\n\n return <ThemeContext.Provider value={themeContext}>{props.children}</ThemeContext.Provider>;\n}\n","// @flow\nimport validAttr from '@emotion/is-prop-valid';\nimport hoist from 'hoist-non-react-statics';\nimport React, { createElement, type Ref, useContext, useDebugValue } from 'react';\nimport { SC_VERSION } from '../constants';\nimport type {\n Attrs,\n IStyledComponent,\n IStyledStatics,\n RuleSet,\n ShouldForwardProp,\n Target,\n} from '../types';\nimport { checkDynamicCreation } from '../utils/checkDynamicCreation';\nimport createWarnTooManyClasses from '../utils/createWarnTooManyClasses';\nimport determineTheme from '../utils/determineTheme';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '../utils/empties';\nimport escape from '../utils/escape';\nimport generateComponentId from '../utils/generateComponentId';\nimport generateDisplayName from '../utils/generateDisplayName';\nimport getComponentName from '../utils/getComponentName';\nimport isFunction from '../utils/isFunction';\nimport isStyledComponent from '../utils/isStyledComponent';\nimport isTag from '../utils/isTag';\nimport joinStrings from '../utils/joinStrings';\nimport merge from '../utils/mixinDeep';\nimport ComponentStyle from './ComponentStyle';\nimport { useStyleSheet, useStylis } from './StyleSheetManager';\nimport { ThemeContext } from './ThemeProvider';\n\nconst identifiers = {};\n\n/* We depend on components having unique IDs */\nfunction generateId(displayName?: string, parentComponentId?: string) {\n const name = typeof displayName !== 'string' ? 'sc' : escape(displayName);\n // Ensure that no displayName can lead to duplicate componentIds\n identifiers[name] = (identifiers[name] || 0) + 1;\n\n const componentId = `${name}-${generateComponentId(\n // SC_VERSION gives us isolation between multiple runtimes on the page at once\n // this is improved further with use of the babel plugin \"namespace\" feature\n SC_VERSION + name + identifiers[name]\n )}`;\n\n return parentComponentId ? `${parentComponentId}-${componentId}` : componentId;\n}\n\nfunction useResolvedAttrs<Config>(theme: any = EMPTY_OBJECT, props: Config, attrs: Attrs) {\n // NOTE: can't memoize this\n // returns [context, resolvedAttrs]\n // where resolvedAttrs is only the things injected by the attrs themselves\n const context = { ...props, theme };\n const resolvedAttrs = {};\n\n attrs.forEach(attrDef => {\n let resolvedAttrDef = attrDef;\n let key;\n\n if (isFunction(resolvedAttrDef)) {\n resolvedAttrDef = resolvedAttrDef(context);\n }\n\n /* eslint-disable guard-for-in */\n for (key in resolvedAttrDef) {\n context[key] = resolvedAttrs[key] =\n key === 'className'\n ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key])\n : resolvedAttrDef[key];\n }\n /* eslint-enable guard-for-in */\n });\n\n return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle<T>(\n componentStyle: ComponentStyle,\n isStatic: boolean,\n resolvedAttrs: T,\n warnTooManyClasses?: $Call<typeof createWarnTooManyClasses, string, string>\n) {\n const styleSheet = useStyleSheet();\n const stylis = useStylis();\n\n const className = isStatic\n ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis)\n : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(className);\n\n if (process.env.NODE_ENV !== 'production' && !isStatic && warnTooManyClasses) {\n warnTooManyClasses(className);\n }\n\n return className;\n}\n\nfunction useStyledComponentImpl(\n forwardedComponent: IStyledComponent,\n props: Object,\n forwardedRef: Ref<any>,\n isStatic: boolean\n) {\n const {\n attrs: componentAttrs,\n componentStyle,\n defaultProps,\n foldedComponentIds,\n shouldForwardProp,\n styledComponentId,\n target,\n } = forwardedComponent;\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n if (process.env.NODE_ENV !== 'production') useDebugValue(styledComponentId);\n\n // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n // should be an immutable value, but behave for now.\n const theme = determineTheme(props, useContext(ThemeContext), defaultProps);\n\n const [context, attrs] = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs);\n\n const generatedClassName = useInjectedStyle(\n componentStyle,\n isStatic,\n context,\n process.env.NODE_ENV !== 'production' ? forwardedComponent.warnTooManyClasses : undefined\n );\n\n const refToForward = forwardedRef;\n\n const elementToBeCreated: Target = attrs.$as || props.$as || attrs.as || props.as || target;\n\n const isTargetTag = isTag(elementToBeCreated);\n const computedProps = attrs !== props ? { ...props, ...attrs } : props;\n const propsForElement = {};\n\n // eslint-disable-next-line guard-for-in\n for (const key in computedProps) {\n if (key[0] === '$' || key === 'as') continue;\n else if (key === 'forwardedAs') {\n propsForElement.as = computedProps[key];\n } else if (\n shouldForwardProp\n ? shouldForwardProp(key, validAttr, elementToBeCreated)\n : isTargetTag\n ? validAttr(key)\n : true\n ) {\n // Don't pass through non HTML tags through to HTML elements\n propsForElement[key] = computedProps[key];\n }\n }\n\n if (props.style && attrs.style !== props.style) {\n propsForElement.style = { ...props.style, ...attrs.style };\n }\n\n propsForElement.className = Array.prototype\n .concat(\n foldedComponentIds,\n styledComponentId,\n generatedClassName !== styledComponentId ? generatedClassName : null,\n props.className,\n attrs.className\n )\n .filter(Boolean)\n .join(' ');\n\n propsForElement.ref = refToForward;\n\n return createElement(elementToBeCreated, propsForElement);\n}\n\nexport default function createStyledComponent(\n target: $PropertyType<IStyledComponent, 'target'>,\n options: {\n attrs?: Attrs,\n componentId: string,\n displayName?: string,\n parentComponentId?: string,\n shouldForwardProp?: ShouldForwardProp,\n },\n rules: RuleSet\n) {\n const isTargetStyledComp = isStyledComponent(target);\n const isCompositeComponent = !isTag(target);\n\n const {\n attrs = EMPTY_ARRAY,\n componentId = generateId(options.displayName, options.parentComponentId),\n displayName = generateDisplayName(target),\n } = options;\n\n const styledComponentId =\n options.displayName && options.componentId\n ? `${escape(options.displayName)}-${options.componentId}`\n : options.componentId || componentId;\n\n // fold the underlying StyledComponent attrs up (implicit extend)\n const finalAttrs =\n isTargetStyledComp && ((target: any): IStyledComponent).attrs\n ? Array.prototype.concat(((target: any): IStyledComponent).attrs, attrs).filter(Boolean)\n : attrs;\n\n // eslint-disable-next-line prefer-destructuring\n let shouldForwardProp = options.shouldForwardProp;\n\n if (isTargetStyledComp && target.shouldForwardProp) {\n if (options.shouldForwardProp) {\n // compose nested shouldForwardProp calls\n shouldForwardProp = (prop, filterFn, elementToBeCreated) =>\n ((((target: any): IStyledComponent).shouldForwardProp: any): ShouldForwardProp)(\n prop,\n filterFn,\n elementToBeCreated\n ) &&\n ((options.shouldForwardProp: any): ShouldForwardProp)(prop, filterFn, elementToBeCreated);\n } else {\n // eslint-disable-next-line prefer-destructuring\n shouldForwardProp = ((target: any): IStyledComponent).shouldForwardProp;\n }\n }\n\n const componentStyle = new ComponentStyle(\n rules,\n styledComponentId,\n isTargetStyledComp ? ((target: Object).componentStyle: ComponentStyle) : undefined\n );\n\n // statically styled-components don't need to build an execution context object,\n // and shouldn't be increasing the number of class names\n const isStatic = componentStyle.isStatic && attrs.length === 0;\n\n /**\n * forwardRef creates a new interim component, which we'll take advantage of\n * instead of extending ParentComponent to create _another_ interim class\n */\n let WrappedStyledComponent: IStyledComponent;\n\n const forwardRef = (props, ref) =>\n // eslint-disable-next-line\n useStyledComponentImpl(WrappedStyledComponent, props, ref, isStatic);\n\n forwardRef.displayName = displayName;\n\n WrappedStyledComponent = ((React.forwardRef(forwardRef): any): IStyledComponent);\n WrappedStyledComponent.attrs = finalAttrs;\n WrappedStyledComponent.componentStyle = componentStyle;\n WrappedStyledComponent.displayName = displayName;\n WrappedStyledComponent.shouldForwardProp = shouldForwardProp;\n\n // this static is used to preserve the cascade of static classes for component selector\n // purposes; this is especially important with usage of the css prop\n WrappedStyledComponent.foldedComponentIds = isTargetStyledComp\n ? Array.prototype.concat(\n ((target: any): IStyledComponent).foldedComponentIds,\n ((target: any): IStyledComponent).styledComponentId\n )\n : EMPTY_ARRAY;\n\n WrappedStyledComponent.styledComponentId = styledComponentId;\n\n // fold the underlying StyledComponent target up since we folded the styles\n WrappedStyledComponent.target = isTargetStyledComp\n ? ((target: any): IStyledComponent).target\n : target;\n\n WrappedStyledComponent.withComponent = function withComponent(tag: Target) {\n const { componentId: previousComponentId, ...optionsToCopy } = options;\n\n const newComponentId =\n previousComponentId &&\n `${previousComponentId}-${isTag(tag) ? tag : escape(getComponentName(tag))}`;\n\n const newOptions = {\n ...optionsToCopy,\n attrs: finalAttrs,\n componentId: newComponentId,\n };\n\n return createStyledComponent(tag, newOptions, rules);\n };\n\n Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n get() {\n return this._foldedDefaultProps;\n },\n\n set(obj) {\n this._foldedDefaultProps = isTargetStyledComp\n ? merge({}, ((target: any): IStyledComponent).defaultProps, obj)\n : obj;\n },\n });\n\n if (process.env.NODE_ENV !== 'production') {\n checkDynamicCreation(displayName, styledComponentId);\n\n WrappedStyledComponent.warnTooManyClasses = createWarnTooManyClasses(\n displayName,\n styledComponentId\n );\n }\n\n WrappedStyledComponent.toString = () => `.${WrappedStyledComponent.styledComponentId}`;\n\n if (isCompositeComponent) {\n hoist<\n IStyledStatics,\n $PropertyType<IStyledComponent, 'target'>,\n { [key: $Keys<IStyledStatics>]: true }\n >(WrappedStyledComponent, ((target: any): $PropertyType<IStyledComponent, 'target'>), {\n // all SC-specific things should not be hoisted\n attrs: true,\n componentStyle: true,\n displayName: true,\n foldedComponentIds: true,\n shouldForwardProp: true,\n styledComponentId: true,\n target: true,\n withComponent: true,\n });\n }\n\n return WrappedStyledComponent;\n}\n","// @flow\nimport type { IStyledComponent } from '../types';\nimport getComponentName from './getComponentName';\nimport isTag from './isTag';\n\nexport default function generateDisplayName(\n target: $PropertyType<IStyledComponent, 'target'>\n): string {\n return isTag(target) ? `styled.${target}` : `Styled(${getComponentName(target)})`;\n}\n","/**\n * Convenience function for joining strings to form className chains\n */\nexport default function joinStrings(a: ?String, b: ?String): ?String {\n return a && b ? `${a} ${b}` : a || b;\n}\n","// @flow\n// Thanks to ReactDOMFactories for this handy list!\n\nexport default [\n 'a',\n 'abbr',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'base',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'keygen',\n 'label',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meta',\n 'meter',\n 'nav',\n 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'title',\n 'tr',\n 'track',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n\n // SVG\n 'circle',\n 'clipPath',\n 'defs',\n 'ellipse',\n 'foreignObject',\n 'g',\n 'image',\n 'line',\n 'linearGradient',\n 'marker',\n 'mask',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialGradient',\n 'rect',\n 'stop',\n 'svg',\n 'text',\n 'textPath',\n 'tspan',\n];\n","// @flow\nimport constructWithOptions from './constructWithOptions';\nimport StyledComponent from '../models/StyledComponent';\nimport domElements from '../utils/domElements';\n\nimport type { Target } from '../types';\n\nconst styled = (tag: Target) => constructWithOptions(StyledComponent, tag);\n\n// Shorthands for all valid HTML Elements\ndomElements.forEach(domElement => {\n styled[domElement] = styled(domElement);\n});\n\nexport default styled;\n","// @flow\nimport { isValidElementType } from 'react-is';\nimport css from './css';\nimport throwStyledError from '../utils/error';\nimport { EMPTY_OBJECT } from '../utils/empties';\n\nimport type { Target } from '../types';\n\nexport default function constructWithOptions(\n componentConstructor: Function,\n tag: Target,\n options: Object = EMPTY_OBJECT\n) {\n if (!isValidElementType(tag)) {\n return throwStyledError(1, String(tag));\n }\n\n /* This is callable directly as a template function */\n // $FlowFixMe: Not typed to avoid destructuring arguments\n const templateFunction = (...args) => componentConstructor(tag, options, css(...args));\n\n /* If config methods are called, wrap up a new template function and merge options */\n templateFunction.withConfig = config =>\n constructWithOptions(componentConstructor, tag, { ...options, ...config });\n\n /* Modify/inject new props at runtime */\n templateFunction.attrs = attrs =>\n constructWithOptions(componentConstructor, tag, {\n ...options,\n attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean),\n });\n\n return templateFunction;\n}\n","// @flow\nimport StyleSheet from '../sheet';\nimport type { RuleSet, Stringifier } from '../types';\nimport flatten from '../utils/flatten';\nimport isStaticRules from '../utils/isStaticRules';\n\nexport default class GlobalStyle {\n componentId: string;\n\n isStatic: boolean;\n\n rules: RuleSet;\n\n constructor(rules: RuleSet, componentId: string) {\n this.rules = rules;\n this.componentId = componentId;\n this.isStatic = isStaticRules(rules);\n\n // pre-register the first instance to ensure global styles\n // load before component ones\n StyleSheet.registerId(this.componentId + 1);\n }\n\n createStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n const flatCSS = flatten(this.rules, executionContext, styleSheet, stylis);\n const css = stylis(flatCSS.join(''), '');\n const id = this.componentId + instance;\n\n // NOTE: We use the id as a name as well, since these rules never change\n styleSheet.insertRules(id, id, css);\n }\n\n removeStyles(instance: number, styleSheet: StyleSheet) {\n styleSheet.clearRules(this.componentId + instance);\n }\n\n renderStyles(\n instance: number,\n executionContext: Object,\n styleSheet: StyleSheet,\n stylis: Stringifier\n ) {\n if (instance > 2) StyleSheet.registerId(this.componentId + instance);\n\n // NOTE: Remove old styles, then inject the new ones\n this.removeStyles(instance, styleSheet);\n this.createStyles(instance, executionContext, styleSheet, stylis);\n }\n}\n","// @flow\n\nimport css from './css';\nimport generateComponentId from '../utils/generateComponentId';\nimport Keyframes from '../models/Keyframes';\n\nimport type { Interpolation, Styles } from '../types';\n\nexport default function keyframes(\n strings: Styles,\n ...interpolations: Array<Interpolation>\n): Keyframes {\n /* Warning if you've used keyframes on React Native */\n if (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n ) {\n // eslint-disable-next-line no-console\n console.warn(\n '`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.'\n );\n }\n\n const rules = css(strings, ...interpolations).join('');\n const name = generateComponentId(rules);\n return new Keyframes(name, rules);\n}\n","// @flow\n/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport { IS_BROWSER, SC_ATTR, SC_ATTR_VERSION, SC_VERSION } from '../constants';\nimport throwStyledError from '../utils/error';\nimport getNonce from '../utils/nonce';\nimport StyleSheet from '../sheet';\nimport StyleSheetManager from './StyleSheetManager';\n\ndeclare var __SERVER__: boolean;\n\nconst CLOSING_TAG_R = /^\\s*<\\/[a-z]/i;\n\nexport default class ServerStyleSheet {\n isStreaming: boolean;\n\n instance: StyleSheet;\n\n sealed: boolean;\n\n constructor() {\n this.instance = new StyleSheet({ isServer: true });\n this.sealed = false;\n }\n\n _emitSheetCSS = (): string => {\n const css = this.instance.toString();\n if (!css) return '';\n\n const nonce = getNonce();\n const attrs = [nonce && `nonce=\"${nonce}\"`, `${SC_ATTR}=\"true\"`, `${SC_ATTR_VERSION}=\"${SC_VERSION}\"`];\n const htmlAttr = attrs.filter(Boolean).join(' ');\n\n return `<style ${htmlAttr}>${css}</style>`;\n };\n\n collectStyles(children: any) {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return <StyleSheetManager sheet={this.instance}>{children}</StyleSheetManager>;\n }\n\n getStyleTags = (): string => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n return this._emitSheetCSS();\n };\n\n getStyleElement = () => {\n if (this.sealed) {\n return throwStyledError(2);\n }\n\n const props = {\n [SC_ATTR]: '',\n [SC_ATTR_VERSION]: SC_VERSION,\n dangerouslySetInnerHTML: {\n __html: this.instance.toString(),\n },\n };\n\n const nonce = getNonce();\n if (nonce) {\n (props: any).nonce = nonce;\n }\n\n // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n return [<style {...props} key=\"sc-0-0\" />];\n };\n\n // eslint-disable-next-line consistent-return\n interleaveWithNodeStream(input: any) {\n if (!__SERVER__ || IS_BROWSER) {\n return throwStyledError(3);\n } else if (this.sealed) {\n return throwStyledError(2);\n }\n\n if (__SERVER__) {\n this.seal();\n\n // eslint-disable-next-line global-require\n const { Readable, Transform } = require('stream');\n\n const readableStream: Readable = input;\n const { instance: sheet, _emitSheetCSS } = this;\n\n const transformer = new Transform({\n transform: function appendStyleChunks(chunk, /* encoding */ _, callback) {\n // Get the chunk and retrieve the sheet's CSS as an HTML chunk,\n // then reset its rules so we get only new ones for the next chunk\n const renderedHtml = chunk.toString();\n const html = _emitSheetCSS();\n\n sheet.clearTag();\n\n // prepend style html to chunk, unless the start of the chunk is a\n // closing tag in which case append right after that\n if (CLOSING_TAG_R.test(renderedHtml)) {\n const endOfClosingTag = renderedHtml.indexOf('>') + 1;\n const before = renderedHtml.slice(0, endOfClosingTag);\n const after = renderedHtml.slice(endOfClosingTag);\n\n this.push(before + html + after);\n } else {\n this.push(html + renderedHtml);\n }\n\n callback();\n },\n });\n\n readableStream.on('error', err => {\n // forward the error to the transform stream\n transformer.emit('error', err);\n });\n\n return readableStream.pipe(transformer);\n }\n }\n\n seal = () => {\n this.sealed = true;\n };\n}\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { DEFAULT_COLOR } from '../type';\nvar len = 242.776657104492;\nvar time = 1.6;\nvar anim = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 12.5% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n 43.75% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n 100% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n\"], [\"\\n 12.5% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n 43.75% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n 100% {\\n stroke-dasharray: \", \"px, \", \"px;\\n stroke-dashoffset: -\", \"px;\\n }\\n\"])), len * 0.14, len, len * 0.11, len * 0.35, len, len * 0.35, len * 0.01, len, len * 0.99);\nvar Path = styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n stroke-dasharray: \", \"px, \", \";\\n stroke-dashoffset: 0;\\n animation: \", \" \", \"s linear infinite;\\n\"], [\"\\n stroke-dasharray: \", \"px, \", \";\\n stroke-dashoffset: 0;\\n animation: \", \" \", \"s linear infinite;\\n\"])), len * 0.01, len, anim, time);\nvar InfinitySpin = function (_a) {\n var _b = _a.color, color = _b === void 0 ? DEFAULT_COLOR : _b, _c = _a.width, width = _c === void 0 ? '200' : _c;\n return (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"\".concat(width), height: \"\".concat(Number(width) * 0.5), viewBox: \"0 0 \".concat(width, \" \").concat(Number(200 * 0.5)), \"data-testid\": \"infinity-spin\" },\n React.createElement(Path, { \"data-testid\": \"infinity-spin-path-1\", stroke: color, fill: \"none\", strokeWidth: \"4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", d: \"M93.9,46.4c9.3,9.5,13.8,17.9,23.5,17.9s17.5-7.8,17.5-17.5s-7.8-17.6-17.5-17.5c-9.7,0.1-13.3,7.2-22.1,17.1 c-8.9,8.8-15.7,17.9-25.4,17.9s-17.5-7.8-17.5-17.5s7.8-17.5,17.5-17.5S86.2,38.6,93.9,46.4z\" }),\n React.createElement(\"path\", { \"data-testid\": \"infinity-spin-path-2\", opacity: \"0.07\", fill: \"none\", stroke: color, strokeWidth: \"4\", strokeLinecap: \"round\", strokeLinejoin: \"round\", strokeMiterlimit: \"10\", d: \"M93.9,46.4c9.3,9.5,13.8,17.9,23.5,17.9s17.5-7.8,17.5-17.5s-7.8-17.6-17.5-17.5c-9.7,0.1-13.3,7.2-22.1,17.1 c-8.9,8.8-15.7,17.9-25.4,17.9s-17.5-7.8-17.5-17.5s7.8-17.5,17.5-17.5S86.2,38.6,93.9,46.4z\" })));\n};\nexport default InfinitySpin;\nvar templateObject_1, templateObject_2;\n","// @flow\n/* Import singletons */\nimport isStyledComponent from './utils/isStyledComponent';\nimport css from './constructors/css';\nimport createGlobalStyle from './constructors/createGlobalStyle';\nimport keyframes from './constructors/keyframes';\nimport ServerStyleSheet from './models/ServerStyleSheet';\nimport { SC_VERSION } from './constants';\n\nimport StyleSheetManager, {\n StyleSheetContext,\n StyleSheetConsumer,\n} from './models/StyleSheetManager';\n\n/* Import components */\nimport ThemeProvider, { ThemeContext, ThemeConsumer } from './models/ThemeProvider';\n\n/* Import Higher Order Components */\nimport withTheme from './hoc/withTheme';\n\n/* Import hooks */\nimport useTheme from './hooks/useTheme';\n\ndeclare var __SERVER__: boolean;\n\n/* Warning if you've imported this file on React Native */\nif (\n process.env.NODE_ENV !== 'production' &&\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative'\n) {\n // eslint-disable-next-line no-console\n console.warn(\n \"It looks like you've imported 'styled-components' on React Native.\\n\" +\n \"Perhaps you're looking to import 'styled-components/native'?\\n\" +\n 'Read more about this at https://www.styled-components.com/docs/basics#react-native'\n );\n}\n\n/* Warning if there are several instances of styled-components */\nif (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test' && typeof window !== 'undefined') {\n window['__styled-components-init__'] = window['__styled-components-init__'] || 0;\n\n if (window['__styled-components-init__'] === 1) {\n // eslint-disable-next-line no-console\n console.warn(\n \"It looks like there are several instances of 'styled-components' initialized in this application. \" +\n 'This may cause dynamic styles to not render properly, errors during the rehydration process, ' +\n 'a missing theme prop, and makes your application bigger without good reason.\\n\\n' +\n 'See https://s-c.sh/2BAXzed for more info.'\n );\n }\n\n window['__styled-components-init__'] += 1;\n}\n\n/* Export everything */\nexport * from './secretInternals';\nexport {\n createGlobalStyle,\n css,\n isStyledComponent,\n keyframes,\n ServerStyleSheet,\n StyleSheetConsumer,\n StyleSheetContext,\n StyleSheetManager,\n ThemeConsumer,\n ThemeContext,\n ThemeProvider,\n useTheme,\n SC_VERSION as version,\n withTheme,\n};\n","/**\n * Returns the value of `props[path]` or `defaultValue`\n * @example\n * import styled from \"styled-components\";\n * import { prop } from \"styled-tools\";\n *\n * const Button = styled.button`\n * color: ${prop(\"color\", \"red\")};\n * `;\n */\nvar prop = function prop(path, defaultValue) {\n return function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (typeof props[path] !== \"undefined\") {\n return props[path];\n }\n\n if (path && path.indexOf(\".\") > 0) {\n var paths = path.split(\".\");\n var length = paths.length;\n var object = props[paths[0]];\n var index = 1;\n\n while (object != null && index < length) {\n object = object[paths[index]];\n index += 1;\n }\n\n if (typeof object !== \"undefined\") {\n return object;\n }\n }\n\n return defaultValue;\n };\n};\n\nexport default prop;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable no-use-before-define */\nimport prop from \"./prop\";\n\nvar parseFunction = function parseFunction(props, test) {\n return Boolean(test(props));\n};\n\nvar parseObject = function parseObject(props, test) {\n var keys = Object.keys(test);\n var length = keys.length;\n\n for (var index = 0; index < length; index += 1) {\n var key = keys[index];\n var expected = test[key];\n var value = prop(key)(props);\n\n if (expected !== value) {\n return false;\n }\n }\n\n return true;\n};\n\nvar parseString = function parseString(props, test) {\n return Boolean(prop(test)(props));\n};\n\nvar parseMap = {\n function: parseFunction,\n object: parseObject,\n string: parseString\n};\n/**\n * Returns `pass` if prop is truthy. Otherwise returns `fail`\n * @example\n * import styled from \"styled-components\";\n * import { ifProp, palette } from \"styled-tools\";\n *\n * const Button = styled.button`\n * background-color: ${ifProp(\"transparent\", \"transparent\", palette(0))};\n * color: ${ifProp([\"transparent\", \"accent\"], palette(\"secondary\"))};\n * font-size: ${ifProp({ size: \"large\" }, \"20px\", ifProp({ size: \"medium\" }, \"16px\", \"12px\"))};\n * `;\n */\n\nvar ifProp = function ifProp(test) {\n var pass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var fail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n return function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var result = true;\n\n if (Array.isArray(test)) {\n var length = test.length;\n var index = 0;\n\n while (result && index < length) {\n result = parseMap[_typeof(test[index])](props, test[index]);\n index += 1;\n }\n } else {\n result = parseMap[_typeof(test)](props, test);\n }\n\n var value = result ? pass : fail;\n return typeof value === \"function\" ? value(props) : value;\n };\n};\n\nexport default ifProp;","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React, { useCallback } from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { prop } from 'styled-tools';\nimport { DEFAULT_COLOR, DEFAULT_WAI_ARIA_ATTRIBUTE } from '../type';\nvar spin = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n to {\\n transform: rotate(360deg);\\n }\\n\"], [\"\\n to {\\n transform: rotate(360deg);\\n }\\n\"])));\nvar POINTS = [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330];\nvar Svg = styled.svg(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n animation: \", \" 0.75s steps(12, end) infinite;\\n animation-duration: \", \"s;\\n\"], [\"\\n animation: \", \" 0.75s steps(12, end) infinite;\\n animation-duration: \", \"s;\\n\"])), spin, prop('speed', '0.75'));\nvar Polyline = styled.polyline(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n stroke-width: \", \"px;\\n stroke-linecap: round;\\n\\n &:nth-child(12n + 0) {\\n stroke-opacity: 0.08;\\n }\\n\\n &:nth-child(12n + 1) {\\n stroke-opacity: 0.17;\\n }\\n\\n &:nth-child(12n + 2) {\\n stroke-opacity: 0.25;\\n }\\n\\n &:nth-child(12n + 3) {\\n stroke-opacity: 0.33;\\n }\\n\\n &:nth-child(12n + 4) {\\n stroke-opacity: 0.42;\\n }\\n\\n &:nth-child(12n + 5) {\\n stroke-opacity: 0.5;\\n }\\n\\n &:nth-child(12n + 6) {\\n stroke-opacity: 0.58;\\n }\\n\\n &:nth-child(12n + 7) {\\n stroke-opacity: 0.66;\\n }\\n\\n &:nth-child(12n + 8) {\\n stroke-opacity: 0.75;\\n }\\n\\n &:nth-child(12n + 9) {\\n stroke-opacity: 0.83;\\n }\\n\\n &:nth-child(12n + 11) {\\n stroke-opacity: 0.92;\\n }\\n\"], [\"\\n stroke-width: \", \"px;\\n stroke-linecap: round;\\n\\n &:nth-child(12n + 0) {\\n stroke-opacity: 0.08;\\n }\\n\\n &:nth-child(12n + 1) {\\n stroke-opacity: 0.17;\\n }\\n\\n &:nth-child(12n + 2) {\\n stroke-opacity: 0.25;\\n }\\n\\n &:nth-child(12n + 3) {\\n stroke-opacity: 0.33;\\n }\\n\\n &:nth-child(12n + 4) {\\n stroke-opacity: 0.42;\\n }\\n\\n &:nth-child(12n + 5) {\\n stroke-opacity: 0.5;\\n }\\n\\n &:nth-child(12n + 6) {\\n stroke-opacity: 0.58;\\n }\\n\\n &:nth-child(12n + 7) {\\n stroke-opacity: 0.66;\\n }\\n\\n &:nth-child(12n + 8) {\\n stroke-opacity: 0.75;\\n }\\n\\n &:nth-child(12n + 9) {\\n stroke-opacity: 0.83;\\n }\\n\\n &:nth-child(12n + 11) {\\n stroke-opacity: 0.92;\\n }\\n\"])), function (props) { return props.width; });\nexport default function RotatingLines(_a) {\n var _b = _a.strokeColor, strokeColor = _b === void 0 ? DEFAULT_COLOR : _b, _c = _a.strokeWidth, strokeWidth = _c === void 0 ? '5' : _c, _d = _a.animationDuration, animationDuration = _d === void 0 ? '0.75' : _d, _e = _a.width, width = _e === void 0 ? '96' : _e, _f = _a.visible, visible = _f === void 0 ? true : _f, _g = _a.ariaLabel, ariaLabel = _g === void 0 ? 'rotating-lines-loading' : _g;\n var lines = useCallback(function () {\n return POINTS.map(function (point) { return (React.createElement(Polyline, { key: point, points: \"24,12 24,4\", width: strokeWidth, transform: \"rotate(\".concat(point, \", 24, 24)\") })); });\n }, [strokeWidth]);\n return !visible ? null : (React.createElement(Svg, __assign({ xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 48 48\", width: width, stroke: strokeColor, speed: animationDuration, \"data-testid\": \"rotating-lines-svg\", \"aria-label\": ariaLabel }, DEFAULT_WAI_ARIA_ATTRIBUTE), lines()));\n}\nvar templateObject_1, templateObject_2, templateObject_3;\n","export var getDefaultStyle = function (visible) { return ({\n display: visible ? 'flex' : 'none',\n}); };\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { getDefaultStyle } from '../helpers';\nimport { DEFAULT_COLOR, DEFAULT_WAI_ARIA_ATTRIBUTE } from '../type';\nvar dash = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n to {\\n stroke-dashoffset: 136;\\n }\\n\"], [\"\\n to {\\n stroke-dashoffset: 136;\\n }\\n\"])));\nvar Polygon = styled.polygon(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n stroke-dasharray: 17;\\n animation: \", \" 2.5s cubic-bezier(0.35, 0.04, 0.63, 0.95) infinite;\\n\"], [\"\\n stroke-dasharray: 17;\\n animation: \", \" 2.5s cubic-bezier(0.35, 0.04, 0.63, 0.95) infinite;\\n\"])), dash);\nvar SVG = styled.svg(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n transform-origin: 50% 65%;\\n\"], [\"\\n transform-origin: 50% 65%;\\n\"])));\nvar Triangle = function (_a) {\n var _b = _a.height, height = _b === void 0 ? 80 : _b, _c = _a.width, width = _c === void 0 ? 80 : _c, _d = _a.color, color = _d === void 0 ? DEFAULT_COLOR : _d, _e = _a.ariaLabel, ariaLabel = _e === void 0 ? 'triangle-loading' : _e, wrapperStyle = _a.wrapperStyle, wrapperClass = _a.wrapperClass, _f = _a.visible, visible = _f === void 0 ? true : _f;\n return (React.createElement(\"div\", __assign({ style: __assign(__assign({}, getDefaultStyle(visible)), wrapperStyle), className: \"\".concat(wrapperClass), \"data-testid\": \"triangle-loading\", \"aria-label\": ariaLabel }, DEFAULT_WAI_ARIA_ATTRIBUTE),\n React.createElement(SVG, { id: \"triangle\", width: width, height: height, viewBox: \"-3 -4 39 39\", \"data-testid\": \"triangle-svg\" },\n React.createElement(Polygon, { fill: \"transparent\", stroke: color, strokeWidth: \"1\", points: \"16,0 32,32 0,32\" }))));\n};\nexport default Triangle;\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport { getDefaultStyle } from '../helpers';\nimport { DEFAULT_COLOR, DEFAULT_WAI_ARIA_ATTRIBUTE } from '../type';\nexport var TailSpin = function (_a) {\n var _b = _a.height, height = _b === void 0 ? 80 : _b, _c = _a.width, width = _c === void 0 ? 80 : _c, _d = _a.radius, radius = _d === void 0 ? 1 : _d, _e = _a.color, color = _e === void 0 ? DEFAULT_COLOR : _e, _f = _a.ariaLabel, ariaLabel = _f === void 0 ? 'tail-spin-loading' : _f, wrapperStyle = _a.wrapperStyle, wrapperClass = _a.wrapperClass, _g = _a.visible, visible = _g === void 0 ? true : _g;\n return (React.createElement(\"div\", __assign({ style: __assign(__assign({}, getDefaultStyle(visible)), wrapperStyle), className: wrapperClass, \"data-testid\": \"tail-spin-loading\", \"aria-label\": ariaLabel }, DEFAULT_WAI_ARIA_ATTRIBUTE),\n React.createElement(\"svg\", { width: width, height: height, viewBox: \"0 0 38 38\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": \"tail-spin-svg\" },\n React.createElement(\"defs\", null,\n React.createElement(\"linearGradient\", { x1: \"8.042%\", y1: \"0%\", x2: \"65.682%\", y2: \"23.865%\", id: \"a\" },\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \"0\", offset: \"0%\" }),\n React.createElement(\"stop\", { stopColor: color, stopOpacity: \".631\", offset: \"63.146%\" }),\n React.createElement(\"stop\", { stopColor: color, offset: \"100%\" }))),\n React.createElement(\"g\", { fill: \"none\", fillRule: \"evenodd\" },\n React.createElement(\"g\", { transform: \"translate(1 1)\" },\n React.createElement(\"path\", { d: \"M36 18c0-9.94-8.06-18-18-18\", id: \"Oval-2\", stroke: color, strokeWidth: \"2\" },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })),\n React.createElement(\"circle\", { fill: \"#fff\", cx: \"36\", cy: \"18\", r: radius },\n React.createElement(\"animateTransform\", { attributeName: \"transform\", type: \"rotate\", from: \"0 18 18\", to: \"360 18 18\", dur: \"0.9s\", repeatCount: \"indefinite\" })))))));\n};\nexport default TailSpin;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport React from 'react';\nimport { DEFAULT_WAI_ARIA_ATTRIBUTE } from '../type';\nexport default function ProgressBar(_a) {\n var _b = _a.visible, visible = _b === void 0 ? true : _b, _c = _a.height, height = _c === void 0 ? '80' : _c, _d = _a.width, width = _d === void 0 ? '80' : _d, _e = _a.wrapperClass, wrapperClass = _e === void 0 ? '' : _e, _f = _a.wrapperStyle, wrapperStyle = _f === void 0 ? {} : _f, _g = _a.ariaLabel, ariaLabel = _g === void 0 ? 'progress-bar-loading' : _g, _h = _a.borderColor, borderColor = _h === void 0 ? '#F4442E' : _h, _j = _a.barColor, barColor = _j === void 0 ? '#51E5FF' : _j;\n return !visible ? null : (React.createElement(\"svg\", __assign({ width: width, height: height, xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 100 100\", preserveAspectRatio: \"xMidYMid\", className: wrapperClass, style: wrapperStyle, \"aria-label\": ariaLabel, \"data-testid\": 'progress-bar-svg' }, DEFAULT_WAI_ARIA_ATTRIBUTE),\n React.createElement(\"defs\", null,\n React.createElement(\"clipPath\", { \"ng-attr-id\": \"{{config.cpid}}\", x: \"0\", y: \"0\", width: \"100\", height: \"100\", id: \"lds-progress-cpid-5009611b8a418\" },\n React.createElement(\"rect\", { x: \"0\", y: \"0\", width: \"66.6667\", height: \"100\" },\n React.createElement(\"animate\", { attributeName: \"width\", calcMode: \"linear\", values: \"0;100;100\", keyTimes: \"0;0.5;1\", dur: \"1\", begin: \"0s\", repeatCount: \"indefinite\" }),\n React.createElement(\"animate\", { attributeName: \"x\", calcMode: \"linear\", values: \"0;0;100\", keyTimes: \"0;0.5;1\", dur: \"1\", begin: \"0s\", repeatCount: \"indefinite\" })))),\n React.createElement(\"path\", { fill: \"none\", \"ng-attr-stroke\": \"{{config.c1}}\", strokeWidth: \"2.7928\", d: \"M82,63H18c-7.2,0-13-5.8-13-13v0c0-7.2,5.8-13,13-13h64c7.2,0,13,5.8,13,13v0C95,57.2,89.2,63,82,63z\", stroke: borderColor }),\n React.createElement(\"path\", { \"ng-attr-fill\": \"{{config.c2}}\", \"ng-attr-clip-path\": \"url(#{{config.cpid}})\", d: \"M81.3,58.7H18.7c-4.8,0-8.7-3.9-8.7-8.7v0c0-4.8,3.9-8.7,8.7-8.7h62.7c4.8,0,8.7,3.9,8.7,8.7v0C90,54.8,86.1,58.7,81.3,58.7z\", fill: barColor, clipPath: \"url(#lds-progress-cpid-5009611b8a418)\" })));\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"loaderWrapper\":\"LoaderContent_loaderWrapper__70y-E\"};","import { TailSpin } from 'react-loader-spinner';\r\nimport classes from './LoaderContent.module.scss'\r\n\r\nconst LoaderContent = () => {\r\n return (\r\n <div className={classes.loaderWrapper}>\r\n <TailSpin\r\n height=\"60\"\r\n width=\"60\"\r\n color = '#fff'\r\n ariaLabel=\"tail-spin-loading\"\r\n radius=\"2\"\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default LoaderContent;","// extracted by mini-css-extract-plugin\nexport default {\"contentError\":\"Error_contentError__38VoJ\",\"contentErrorIcon\":\"Error_contentErrorIcon__TwrGa\",\"contentErrorWrapper\":\"Error_contentErrorWrapper__7hi82\",\"contentErrorText\":\"Error_contentErrorText__2p9Z1\",\"contentErrorTitle\":\"Error_contentErrorTitle__uS2Wz\",\"contentErrorP\":\"Error_contentErrorP__ZnLxe\"};","\r\nimport classes from './Error.module.scss';\r\n\r\nconst Error = () => {\r\n return (\r\n <div className={classes.contentError}>\r\n <div className={classes.contentErrorWrapper}>\r\n <span className={classes.contentErrorIcon}></span>\r\n <div className={classes.contentErrorText}>\r\n <h2 className={classes.contentErrorTitle}>Woops! Something went wrong...</h2>\r\n <p className={classes.contentErrorP}>We are unable to download this content at this time. Please try again later.</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Error;","export const getTotalPageCount = (totalCount, limit) => {\r\n return Math.ceil(totalCount / limit);\r\n} \r\n","import { useState, useEffect, useRef } from 'react';\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport GamesService from '../../API/services/games/GamesService';\r\n\r\nimport GamesList from '../../components/GamesList/GamesList';\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst PopularGamesPage = () => {\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const lastElement = useRef();\r\n\r\n const [getGamesList, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGamesList(limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesList(limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n \r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesList(limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getGamesList();\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n \r\n return (\r\n <div className=\"page games-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Popular by users</h2>\r\n </div>\r\n <div className=\"games-page__wrapper\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'column');\r\n setDisplayMode('column');\r\n }} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}>\r\n </button>\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'list');\r\n setDisplayMode('list');\r\n }} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList gamesList={sortedGames} \r\n page={page}\r\n totalPages={totalPages}\r\n limit={limit}\r\n displayMode={displayMode}\r\n />\r\n {error && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default PopularGamesPage;","import { useState, useEffect, useRef } from 'react';\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport GamesService from '../../API/services/games/GamesService';\r\n\r\nimport GamesList from '../../components/GamesList/GamesList';\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst RatingGamesPage = () => {\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const lastElement = useRef();\r\n\r\n const [getGamesList, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam('-rating', limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam('-rating', limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n \r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam(limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getGamesList();\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n console.log([...gamesList])\r\n return (\r\n <div className=\"page games-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Games by user rating</h2>\r\n </div>\r\n <div className=\"games-page__wrapper\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'column');\r\n setDisplayMode('column');\r\n }} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}>\r\n </button>\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'list');\r\n setDisplayMode('list');\r\n }} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList gamesList={sortedGames} \r\n page={page}\r\n totalPages={totalPages}\r\n limit={limit}\r\n displayMode={displayMode}\r\n />\r\n {error && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default RatingGamesPage;","import { useState, useEffect, useRef } from 'react';\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport GamesService from '../../API/services/games/GamesService';\r\n\r\nimport GamesList from '../../components/GamesList/GamesList';\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst MetacriticGamesPage = () => {\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [getGamesList, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam('-metacritic', limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam('-metacritic', limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await GamesService.getGamesListByParam('-metacritic', limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getGamesList();\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n console.log([...gamesList])\r\n return (\r\n <div className=\"page games-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Games by metacritic</h2>\r\n </div>\r\n <div className=\"games-page__wrapper\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'column');\r\n setDisplayMode('column');\r\n }} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}>\r\n </button>\r\n <button onClick={() => {\r\n localStorage.setItem('displayMode', 'list');\r\n setDisplayMode('list');\r\n }} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList gamesList={sortedGames} \r\n page={page}\r\n totalPages={totalPages}\r\n limit={limit}\r\n displayMode={displayMode}\r\n />\r\n {error && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default MetacriticGamesPage;","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class DevelopersService {\r\n static async getDevelopersList(limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/developers?key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesByDeveloperSlug(slug, limit, page, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?developers=${slug}&key=${_APIKEY}`,{\r\n params: {\r\n page_size: limit,\r\n platforms: platform,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getDevelopersGameById(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/games/${slug}/development-team?key=${_APIKEY}`);\r\n return response;\r\n }\r\n\r\n static async getDeveloperById(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/developers/${slug}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","import { Link } from 'react-router-dom';\r\n\r\nimport './cardDefault.scss';\r\n\r\nconst CardDefault = ({buttonText, link, src, param}) => {\r\n return (\r\n <div className=\"card-item\" style={{backgroundImage: `linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(${src.image_background})`}}>\r\n <div className=\"card-item__head\">\r\n <Link to={param === 'slug' ? `/${link}/${src.slug}` : `/${link}/${src.id}`} className=\"card-item__head-name\">{src.name}</Link>\r\n <div className=\"card-item__head-buttonMore\">\r\n <Link to={param === 'slug' ? `/${link}/${src.slug}` : `/${link}/${src.id}`}>{buttonText}</Link>\r\n </div>\r\n </div>\r\n <div className=\"card-item__content\">\r\n <div className=\"card-item__content\">\r\n <div className=\"card-item__content-title\">Known for {src.games_count} games</div>\r\n <ul className=\"card-item__content-items\">\r\n {src.games.map(game => {\r\n return <li key={game.id} className=\"card-item__content-game\">\r\n <Link to={`/games/${game.slug}`} className=\"card-item__content-name\">{game.name}</Link>\r\n <span className=\"card-item__content-added\">{game.added}</span>\r\n </li>\r\n })}\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CardDefault;","import CardDefault from '../CardDefault/CardDefault';\r\n\r\nimport './cardList.scss';\r\n\r\nconst CardList = ({list, link, buttonText, param}) => {\r\n return (\r\n <div className=\"card-list\">\r\n <ul className=\"card-list__ul\">\r\n {list.map(li => {\r\n return (\r\n <li key={li.id} className=\"card-list__li\">\r\n <CardDefault buttonText={buttonText}\r\n src={li}\r\n link={link}\r\n param={param} />\r\n </li>\r\n )\r\n })}\r\n </ul>\r\n </div>\r\n );\r\n};\r\n\r\nexport default CardList;","import { useState, useEffect, useRef } from 'react';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport DevelopersService from '../../API/services/developers/DevelopersService';\r\n\r\nimport CardList from '../../components/UI/CardList/CardList';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst DevelopersPage = () => {\r\n const [developersList, setDevelopersList] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getDevelopers, isLoading, error] = useFetching(async () => {\r\n const response = await DevelopersService.getDevelopersList(limit, page);\r\n setDevelopersList([...developersList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getDevelopers();\r\n }, [page, limit]);\r\n\r\n return (\r\n <div className=\"page developers-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Developers</h2>\r\n </div>\r\n <div className=\"developers-page__wrapper\">\r\n <div className=\"page__about\">\r\n <div className=\"page__about-text\">\r\n <p>Here you can find information about the company or individuals who developed the game, \r\n including their history, past projects, and any notable achievements. This information can be useful for players who \r\n are interested in learning more about the game development process, as well as for those who want to support their \r\n favorite developers by purchasing their games.</p>\r\n <p>This category can also be helpful for players who are looking for new games to play. By browsing through \r\n the different developers listed, players can discover new games that share similar styles or themes to their favorite titles. \r\n This can help players expand their gaming horizons and find new games that they may not have otherwise discovered.</p>\r\n </div>\r\n </div>\r\n <CardList list={developersList} link=\"developers\" buttonText=\"More\" param=\"slug\"/>\r\n {error && <Error/>}\r\n </div>\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default DevelopersPage;","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class PublishersService {\r\n static async getPublishersList(limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/publishers?key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesByPublisherSlug(slug, limit, page, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?publishers=${slug}&key=${_APIKEY}`,{\r\n params: {\r\n page_size: limit,\r\n platforms: platform,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getPublisherBySlug(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/publishers/${slug}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","import { useState, useEffect, useRef } from 'react';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport PublishersService from '../../API/services/publishers/PublishersService';\r\n\r\nimport CardList from '../../components/UI/CardList/CardList';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst PublishersPage = () => {\r\n const [publishersList, setPublishersList] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getPublishers, isLoading, error] = useFetching(async () => {\r\n const response = await PublishersService.getPublishersList(limit, page);\r\n setPublishersList([...publishersList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getPublishers();\r\n }, [page, limit]);\r\n\r\n\r\n return (\r\n <div className=\"page publishers-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Publishers</h2>\r\n </div>\r\n <div className=\"publishers-page__wrapper\">\r\n <div className=\"page__about\">\r\n <div className=\"page__about-text\">\r\n <p>Here players can find information about the company responsible for publishing the game, including \r\n their history, past projects, and any notable achievements. This information can be useful for players who are interested in \r\n learning more about the companies involved in the gaming industry.</p>\r\n <p>This category category can also be helpful for players who are looking for new games to play. By browsing through the different \r\n publishers listed, players can discover new games that share similar styles or themes to their favorite titles. This can help \r\n players expand their gaming horizons and find new games that they may not have otherwise discovered.</p>\r\n </div>\r\n </div>\r\n <CardList list={publishersList} link=\"publishers\" buttonText=\"More\" param=\"slug\"/>\r\n {error && <Error/>}\r\n </div>\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default PublishersPage;","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class GenresService {\r\n static async getGenresList(limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/genres?key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesByGenreSlug(slug, limit, page, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?genres=${slug}&key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n platforms: platform,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGenreBySlug(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/genres/${slug}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","import { useState, useEffect, useRef } from 'react';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport GenresService from '../../API/services/genres/GenresService';\r\n\r\nimport CardList from '../../components/UI/CardList/CardList';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst GenresPage = () => {\r\n const [genresList, setGenresList] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getGenres, isLoading, error] = useFetching(async () => {\r\n const response = await GenresService.getGenresList(limit, page);\r\n setGenresList([...genresList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getGenres();\r\n }, [page, limit]);\r\n\r\n return (\r\n <div className=\"page genres-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Genres</h2>\r\n </div>\r\n <div className=\"genres-page__wrapper\">\r\n <div className=\"page__about\">\r\n <div className=\"page__about-text\">\r\n <p>Here players can find a variety of games ranging from action, adventure, sports, puzzle,\r\n racing, role-playing games, and more. Each genre offers a unique gameplay experience, allowing players to immerse \r\n themselves in different worlds and engage with different challenges and mechanics.</p>\r\n <p>This category can be helpful for players who are looking for new games to play or want to explore different types \r\n of games. By browsing through the different genres, players can discover new games that match their preferred gameplay \r\n mechanics or themes. This can help players expand their gaming horizons and find new games that they may not \r\n have otherwise discovered.</p>\r\n </div>\r\n </div>\r\n <CardList list={genresList} link=\"genres\" buttonText=\"More\" param=\"slug\"/>\r\n {error && <Error/>}\r\n </div>\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default GenresPage;","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class PlatformsService {\r\n static async getPlatformsList(limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/platforms?key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesByPlatformId(id, limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?platforms=${id}&key=${_APIKEY}`,{\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getPlatformById(id) {\r\n const response = await axios.get(`https://api.rawg.io/api/platforms/${id}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","import { useState, useEffect, useRef } from 'react';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport PlatformsService from '../../API/services/platforms/PlatformsService';\r\n\r\nimport CardList from '../../components/UI/CardList/CardList';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst PlatformsPage = () => {\r\n const [platformsList, setPlatformsList] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getPlatforms, isLoading, error] = useFetching(async () => {\r\n const response = await PlatformsService.getPlatformsList(limit, page);\r\n setPlatformsList([...platformsList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getPlatforms();\r\n }, [page, limit]);\r\n \r\n return (\r\n <div className=\"page platforms-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Platforms</h2>\r\n </div>\r\n <div className=\"platforms-page__wrapper\">\r\n <div className=\"page__about\">\r\n <div className=\"page__about-text\">\r\n <p>Here players can find information about the different platforms on which the \r\n game is available, including their technical requirements, compatible devices, and any specific features \r\n or limitations. This information can be helpful for players who are interested in buying a game but need \r\n to know if their device can run it.</p>\r\n <p>This category can also be helpful for players who are looking for new games to play on a specific device. \r\n By selecting a platform that matches their device, players can quickly find games that are compatible with their device\r\n and explore new games that they may not have otherwise discovered.</p>\r\n </div>\r\n </div>\r\n <CardList list={platformsList} link=\"platforms\" buttonText=\"More\" param=\"id\"/>\r\n {error && <Error/>}\r\n </div>\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default PlatformsPage;","import axios from \"axios\";\r\nimport {_APIKEY} from '../../../config';\r\n\r\nexport default class TagsService {\r\n static async getTagssList(limit, page) {\r\n const response = await axios.get(`https://api.rawg.io/api/tags?key=${_APIKEY}`, {\r\n params: {\r\n page_size: limit,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getGamesByTagSlug(slug, limit, page, platform) {\r\n const response = await axios.get(`https://api.rawg.io/api/games?tags=${slug}&key=${_APIKEY}`,{\r\n params: {\r\n page_size: limit,\r\n platforms: platform,\r\n page: page,\r\n }\r\n });\r\n return response;\r\n }\r\n\r\n static async getTagBySlug(slug) {\r\n const response = await axios.get(`https://api.rawg.io/api/tags/${slug}?key=${_APIKEY}`);\r\n return response;\r\n }\r\n}","import { useState, useEffect, useRef } from 'react';\r\nimport { useFetching } from '../../hooks/useFetching';\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport TagsService from '../../API/services/tags/TagsService';\r\n\r\nimport CardList from '../../components/UI/CardList/CardList';\r\nimport LoaderContent from '../../components/UI/LoaderContent/LoaderContent';\r\nimport Error from '../../components/UI/Error/Error';\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nconst TagsPage = () => {\r\n const [tagsList, setTagsList] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getPlatforms, isLoading, error] = useFetching(async () => {\r\n const response = await TagsService.getTagssList(limit, page);\r\n setTagsList([...tagsList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getPlatforms();\r\n }, [page, limit]);\r\n return (\r\n <div className=\"page platforms-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n <h2 className=\"section-title\">Tags</h2>\r\n </div>\r\n <div className=\"platforms-page__wrapper\">\r\n <div className=\"page__about\">\r\n <div className=\"page__about-text\">\r\n <p>Tags are essentially keywords or labels that are associated with a particular video game. They are used to categorize games \r\n into different genres, themes, or gameplay features, making it easier for you to browse and discover new games that \r\n match your preferences.</p>\r\n <p>For example, if you're a fan of first-person shooters, you can easily find games with the \"FPS\" tag. Similarly, if you're \r\n interested in puzzle games, you can look for games with the \"Puzzle\" or \"Brain Teaser\" tags. Tags also help you to refine your search results, \r\n by allowing you to filter games based on certain criteria. You can narrow down your search results by selecting multiple tags, such as \"Action,\" \r\n \"Open World,\" and \"Fantasy,\" to find games that match your specific interests.</p>\r\n </div>\r\n </div>\r\n <CardList list={tagsList} link=\"tags\" buttonText=\"More\" param=\"slug\"/>\r\n {error && <Error/>}\r\n </div>\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagsPage;","// extracted by mini-css-extract-plugin\nexport default {\"loaderWrapper\":\"Loader_loaderWrapper__VBB7A\"};","import { ProgressBar } from 'react-loader-spinner';\r\nimport classes from './Loader.module.scss'\r\n\r\nconst Loader = () => {\r\n return (\r\n <div className={classes.loaderWrapper}>\r\n <ProgressBar\r\n height=\"80\"\r\n width=\"80\"\r\n ariaLabel=\"progress-bar-loading\"\r\n borderColor = '#F4442E'\r\n barColor = '#1A1D2F'\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default Loader;","import { useState, useEffect, useRef } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport DevelopersService from \"../../API/services/developers/DevelopersService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './singleDelevoperPage.scss';\r\n\r\nconst GameDelevoperPage = () => {\r\n const [dev, setDev] = useState({});\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const params = useParams();\r\n const lastElement = useRef();\r\n\r\n const [getDeveloper, isDeveloperLoading, developerError] = useFetching(async () => {\r\n const response = await DevelopersService.getDeveloperById(params.slug);\r\n setDev(response.data);\r\n });\r\n\r\n const [getGames, isGamesLoading, gamesError] = useFetching(async () => {\r\n const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await DevelopersService.getGamesByDeveloperSlug(params.slug, limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const sanitizedText = DOMPurify.sanitize(dev.description); // text about\r\n\r\n useObserver(lastElement, page < totalPages, isGamesLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getDeveloper();\r\n getGames();\r\n window.scrollTo(0, 0);\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [params.slug]);\r\n\r\n useEffect(() => {\r\n getGames();\r\n }, [page])\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n return (\r\n <div className=\"page developer-page\">\r\n <div className=\"container\">\r\n {isDeveloperLoading \r\n ? <Loader/>\r\n : <div className=\"developer-page__wrapper\">\r\n <div className=\"developer-page__main\">\r\n <div className=\"developer-page__head\">\r\n <h1 className=\"developer-page__name\">\r\n {dev.name} Developer\r\n </h1>\r\n </div>\r\n </div>\r\n <div className=\"developer-page__about\">\r\n {dev.description === '' \r\n ? <div className=\"developer-page__about-text\">There is no information about this developer</div>\r\n : <div className=\"developer-page__about-text\" dangerouslySetInnerHTML={{__html: sanitizedText}}></div>\r\n }\r\n </div>\r\n <div className=\"developer-page__games\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList displayMode={displayMode} gamesList={sortedGames}/>\r\n {(developerError || gamesError) && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${dev.image_background})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameDelevoperPage;","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgModalClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 18 19\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.121 9.89l6.439-6.439a1.5 1.5 0 10-2.121-2.121L9 7.769 2.561 1.33A1.5 1.5 0 10.44 3.451L6.879 9.89.44 16.329a1.5 1.5 0 102.122 2.121l6.439-6.439 6.439 6.439c.293.293.677.439 1.061.439a1.5 1.5 0 001.061-2.56L11.121 9.89z\",\n fill: \"#FFF\",\n fillRule: \"evenodd\"\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgModalClose);\nexport default __webpack_public_path__ + \"static/media/modal-close.f556d441d89f2bfca4f99daaf847d978.svg\";\nexport { ForwardRef as ReactComponent };","// extracted by mini-css-extract-plugin\nexport default {\"modal\":\"Modal_modal__LvcCf\",\"modalOverlay\":\"Modal_modalOverlay__1hC7g\",\"modalContent\":\"Modal_modalContent__H1ti6\",\"modalClose\":\"Modal_modalClose__VAPnh\",\"buttonClose\":\"Modal_buttonClose__PbZm0\"};","import { useEffect } from 'react';\r\n\r\nimport modalCloseIcon from '../../../resources/img/icons/modal-close.svg';\r\n\r\nimport classes from './Modal.module.scss';\r\n\r\nconst Modal = (props) => {\r\n function handleKeyDown(event) {\r\n if (event.key === 'Escape') {\r\n props.handleClose();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', handleKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener('keydown', handleKeyDown);\r\n };\r\n }, []);\r\n\r\n \r\n return (\r\n <div className={classes.modal}>\r\n <div className={classes.modalOverlay} onClick={props.handleClose} />\r\n <button className={classes.modalClose} onClick={props.handleClose}>\r\n <img src={modalCloseIcon} alt=\"close modal\" className={classes.buttonClose}></img>\r\n </button>\r\n <div className={classes.modalContent}>\r\n {props.children}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default Modal;","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","import { getWindow, getDocument } from 'ssr-window';\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\nlet deviceCached;\nfunction calcDevice({\n userAgent\n} = {}) {\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides = {}) {\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\nexport { getDevice };","import { getWindow } from 'ssr-window';\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n return {\n isSafari: needPerspectiveFix || isSafari(),\n needPerspectiveFix,\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\nexport { getBrowser };","import { getWindow, getDocument } from 'ssr-window';\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend(...args) {\n const to = Object(args[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll({\n swiper,\n targetPosition,\n side\n}) {\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowEl && slideEl.shadowEl.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction findElementsInElements(elements = [], selector = '') {\n const found = [];\n elements.forEach(el => {\n found.push(...el.querySelectorAll(selector));\n });\n return found;\n}\nfunction elementChildren(element, selector = '') {\n return [...element.children].filter(el => el.matches(selector));\n}\nfunction createElement(tag, classes = []) {\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : [classes]));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty, getSlideTransformEl,\n// dom\nfindElementsInElements, createElement, elementChildren, elementOffset, elementPrevAll, elementNextAll, elementStyle, elementIndex, elementParents, elementTransitionEnd, elementOuterSize };","/* eslint-disable no-underscore-dangle */\n\nexport default {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler(...args) {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit(...args) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\nexport default {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};","import { elementStyle } from '../../shared/utils.js';\nexport default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { elementChildren, elementOuterSize, elementStyle, setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n const swiper = this;\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + params.spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + params.spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}","export default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}","export default function updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset;\n }\n}","export default function updateSlidesProgress(translate = this && this.translate || 0) {\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass);\n });\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides[i].classList.add(params.slideVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}","export default function updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') === '0')[0]);\n const lastSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') * 1 === swiper.slides.length - 1)[0]);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}","import { elementChildren, elementNextAll, elementPrevAll } from '../../shared/utils.js';\nexport default function updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n });\n let activeSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n activeSlide = slides[activeIndex];\n }\n if (activeSlide) {\n // Active classes\n activeSlide.classList.add(params.slideActiveClass);\n\n // Next Slide\n let nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n // Prev Slide\n let prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n }\n swiper.emitSlidesClasses();\n}","export function getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nexport default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n }\n return;\n }\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (swiper.slides[activeIndex]) {\n realIndex = parseInt(swiper.slides[activeIndex].getAttribute('data-swiper-slide-index') || activeIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","export default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = e.closest(`.${params.slideClass}, swiper-slide`);\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}","export default function transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step\n}) {\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition,\n transitionStart,\n transitionEnd\n};","export default function setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n }\n swiper.emit('setTransition', duration, byController);\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // Update Index\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}","export default function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n newIndex = swiper.getSlideIndex(swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === newIndex)[0]);\n }\n }\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled) return swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {\n const swiper = this;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import { elementChildren, nextTick } from '../../shared/utils.js';\nexport default function slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = swiper.getSlideIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate,\n loopFix,\n loopDestroy\n};","import { elementChildren } from '../../shared/utils.js';\nexport default function loopCreate(slideRealIndex) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}","export default function loopFix({\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n byController,\n byMousewheel\n} = {}) {\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10));\n let loopedSlides = params.loopedSlides || slidesPerView;\n if (loopedSlides % params.slidesPerGroup !== 0) {\n loopedSlides += params.slidesPerGroup - loopedSlides % params.slidesPerGroup;\n }\n swiper.loopedSlides = loopedSlides;\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n let activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.classList.contains('swiper-slide-active'))[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n // prepend last slides before start\n if (activeSlideIndex < loopedSlides) {\n slidesPrepended = Math.max(loopedSlides - activeSlideIndex, params.slidesPerGroup);\n for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n prependSlidesIndexes.push(slides.length - index - 1);\n }\n } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {\n slidesAppended = Math.max(activeSlideIndex - (swiper.slides.length - loopedSlides * 2), params.slidesPerGroup);\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlidesIndexes.push(index);\n }\n }\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slidesEl.prepend(swiper.slides[index]);\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slidesEl.append(swiper.slides[index]);\n });\n }\n swiper.recalcSlides();\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);\n if (setTranslate) {\n swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n }\n }\n } else {\n if (setTranslate) {\n swiper.slideToLoop(slideRealIndex, 0, false, true);\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n }\n }\n } else {\n swiper.slideToLoop(slideRealIndex, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n slideTo: false,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (c.params.loop) c.loopFix(loopParams);\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix(loopParams);\n }\n }\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor,\n unsetGrabCursor\n};","let timeout;\nexport default function onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.resume();\n }\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}","export default function unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n if (swiper.isElement) {\n swiper.__preventObserver__ = true;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n if (swiper.isElement) {\n requestAnimationFrame(() => {\n swiper.__preventObserver__ = false;\n });\n }\n}","import { getWindow, getDocument } from 'ssr-window';\nimport { now } from '../../shared/utils.js';\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n const data = swiper.touchEventsData;\n data.evCache.push(event);\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!swiper.wrapperEl.contains(targetEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = event.composedPath ? event.composedPath() : event.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) data.evCache[pointerIndex] = e;\n const targetTouch = data.evCache.length > 1 ? data.evCache[0] : e;\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n prevX: swiper.touches.currentX,\n prevY: swiper.touches.currentY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || swiper.zoom && swiper.params.zoom && swiper.params.zoom.enabled && data.evCache.length > 1) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n if (!data.isMoved) {\n if (isLoop) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n if (data.isMoved && prevTouchesDirection !== swiper.touchesDirection && isLoop && Math.abs(diff) >= 1) {\n // need another loop fix\n swiper.loopFix({\n direction: swiper.swipeDirection,\n setTranslate: true\n });\n loopFixed = true;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && !loopFixed && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.size / 2 : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && !loopFixed && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.size / 2 : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === event.pointerId);\n if (pointerIndex >= 0) {\n data.evCache.splice(pointerIndex, 1);\n }\n if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) {\n const proceed = event.type === 'pointercancel' && (swiper.browser.isSafari || swiper.browser.isWebView);\n if (!proceed) {\n return;\n }\n }\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}","export const processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n};","import { processLazyPreloader } from '../../shared/process-lazy-preloader.js';\nexport default function onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n swiper.update();\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nimport onLoad from './onLoad.js';\nlet dummyEventAttached = false;\nfunction dummyEventListener() {}\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n\n // Touch Events\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nexport default {\n attachEvents,\n detachEvents\n};","import { extend } from '../../shared/utils.js';\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nexport default function setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n }\n swiper.emit('breakpoint', breakpointParams);\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint,\n getBreakpoint\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base = 'window', containerEl) {\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses,\n removeClasses\n};","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nexport default function addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}","function checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nexport default {\n checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopedSlides: null,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","import { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj = {}) {\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { extend, now, deleteProps, createElement, elementChildren, elementStyle, elementIndex } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nimport { processLazyPreloader } from '../shared/process-lazy-preloader.js';\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor(...args) {\n let el;\n let params;\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n evCache: []\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n getSlideIndex(slideEl) {\n const {\n slidesEl,\n params\n } = this;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n const firstSlideIndex = elementIndex(slides[0]);\n return elementIndex(slideEl) - firstSlideIndex;\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view = 'current', exact = false) {\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.shadowEl) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement ? el : wrapperEl,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n\n // Init Flag\n swiper.initialized = true;\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n el.removeAttribute('style');\n wrapperEl.removeAttribute('style');\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n swiper.el.swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { getWindow } from 'ssr-window';\nexport default function Resize({\n swiper,\n on,\n emit\n}) {\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(({\n contentBoxSize,\n contentRect,\n target\n }) => {\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nimport { elementParents } from '../../../shared/utils.js';\nexport default function Observer({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const observers = [];\n const window = getWindow();\n const attach = (target, options = {}) => {\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (swiper.__preventObserver__) return;\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.el);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.el, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","import { createElement, elementChildren } from './utils.js';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Navigation({\n swiper,\n extendParams,\n on,\n emit\n}) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.shadowRoot.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}","export default function classesToSelector(classes = '') {\n return `.${classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport { elementIndex, elementOuterSize, elementParents } from '../../shared/utils.js';\nexport default function Pagination({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n if (swiper.realIndex === index) return;\n if (index < swiper.loopedSlides || index > swiper.slides.length - swiper.loopedSlides) {\n swiper.loopFix({\n direction: index < swiper.loopedSlides ? 'prev' : 'next',\n activeSlideIndex: index,\n slideTo: false\n });\n }\n swiper.slideToLoop(index);\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n bulletEl.classList.remove(...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`));\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n if (bullets[i]) {\n bullets[i].classList.add(`${params.bulletActiveClass}-main`);\n }\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\"></${params.bulletElement}>`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `<span class=\"${params.currentClass}\"></span>` + ' / ' + `<span class=\"${params.totalClass}\"></span>`;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = `<span class=\"${params.progressbarFillClass}\"></span>`;\n }\n }\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets = [...subEl.querySelectorAll(classesToSelector(params.bulletClass))];\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.shadowRoot.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.filter(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n })[0];\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(params.clickableClass);\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(params.bulletActiveClass));\n }\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n let {\n el\n } = swiper.pagination;\n if (!Array.isArray(el)) el = [el].filter(element => !!element);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}","import { getDocument } from 'ssr-window';\nimport { createElement, elementOffset, nextTick } from '../../shared/utils.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Scrollbar({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null\n };\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;\n dragEl.style.width = `${newSize}px`;\n } else {\n dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;\n dragEl.style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(timeout);\n el.style.opacity = 1;\n timeout = setTimeout(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n }\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;\n }\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n dragEl,\n el\n } = scrollbar;\n dragEl.style.width = '';\n dragEl.style.height = '';\n trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n if (swiper.isHorizontal()) {\n dragEl.style.width = `${dragSize}px`;\n } else {\n dragEl.style.height = `${dragSize}px`;\n }\n if (divider >= 1) {\n el.style.display = 'none';\n } else {\n el.style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n el.style.opacity = 0;\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);\n }\n }\n function getPointerPosition(e) {\n return swiper.isHorizontal() ? e.clientX : e.clientY;\n }\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - elementOffset(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n wrapperEl.style.transitionDuration = '100ms';\n dragEl.style.transitionDuration = '100ms';\n setDragPosition(e);\n clearTimeout(dragTimeout);\n el.style.transitionDuration = '0ms';\n if (params.hide) {\n el.style.opacity = 1;\n }\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = 'none';\n }\n emit('scrollbarDragStart', e);\n }\n function onDragMove(e) {\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el,\n dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n wrapperEl.style.transitionDuration = '0ms';\n el.style.transitionDuration = '0ms';\n dragEl.style.transitionDuration = '0ms';\n emit('scrollbarDragMove', e);\n }\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n wrapperEl\n } = swiper;\n const {\n el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n if (swiper.params.cssMode) {\n swiper.wrapperEl.style['scroll-snap-type'] = '';\n wrapperEl.style.transitionDuration = '';\n }\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n el.style.opacity = 0;\n el.style.transitionDuration = '400ms';\n }, 1000);\n }\n emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n function events(method) {\n const {\n scrollbar,\n params\n } = swiper;\n const el = scrollbar.el;\n if (!el) return;\n const target = el;\n const activeListener = params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n target[eventMethod]('pointerdown', onDragStart, activeListener);\n document[eventMethod]('pointermove', onDragMove, activeListener);\n document[eventMethod]('pointerup', onDragEnd, passiveListener);\n }\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n function init() {\n const {\n scrollbar,\n el: swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.shadowRoot.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = document.querySelectorAll(params.el);\n } else if (!el) {\n el = params.el;\n }\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {\n el = swiperEl.querySelector(params.el);\n }\n if (el.length > 0) el = el[0];\n el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let dragEl;\n if (el) {\n dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);\n if (!dragEl) {\n dragEl = createElement('div', swiper.params.scrollbar.dragClass);\n el.append(dragEl);\n }\n }\n Object.assign(scrollbar, {\n el,\n dragEl\n });\n if (params.draggable) {\n enableDraggable();\n }\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n }\n }\n function destroy() {\n const params = swiper.params.scrollbar;\n const el = swiper.scrollbar.el;\n if (el) {\n el.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n disableDraggable();\n }\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n el\n } = swiper.scrollbar;\n if (el) {\n el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', () => {\n destroy();\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n init();\n updateSize();\n setTranslate();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n if (swiper.scrollbar.el) {\n swiper.scrollbar.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n destroy();\n };\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}","import { elementTransitionEnd, now } from '../../shared/utils.js';\nexport default function freeMode({\n swiper,\n extendParams,\n emit,\n once\n}) {\n extendParams({\n freeMode: {\n enabled: false,\n momentum: true,\n momentumRatio: 1,\n momentumBounce: true,\n momentumBounceRatio: 1,\n momentumVelocityRatio: 1,\n sticky: false,\n minimumVelocity: 0.02\n }\n });\n function onTouchStart() {\n const translate = swiper.getTranslate();\n swiper.setTranslate(translate);\n swiper.setTransition(0);\n swiper.touchEventsData.velocities.length = 0;\n swiper.freeMode.onTouchEnd({\n currentPos: swiper.rtl ? swiper.translate : -swiper.translate\n });\n }\n function onTouchMove() {\n const {\n touchEventsData: data,\n touches\n } = swiper;\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n }\n function onTouchEnd({\n currentPos\n }) {\n const {\n params,\n wrapperEl,\n rtlTranslate: rtl,\n snapGrid,\n touchEventsData: data\n } = swiper;\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n if (params.freeMode.momentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeMode.momentumVelocityRatio;\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeMode.momentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeMode.momentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeMode.sticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n if (params.freeMode.sticky) {\n // If freeMode.sticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n }\n if (params.freeMode.momentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(() => {\n swiper.setTranslate(afterBouncePosition);\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n elementTransitionEnd(wrapperEl, () => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeMode.sticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n emit('_freeModeNoMomentumRelease');\n }\n if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n }\n Object.assign(swiper, {\n freeMode: {\n onTouchStart,\n onTouchMove,\n onTouchEnd\n }\n });\n}","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params = {}) {\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params = {}) {\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params = {}) {\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames = '') {\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName = '') {\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className = '') {\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses, attrToProp, wrapperClass };","/* underscore in name -> watch for changes */\nconst paramsList = ['modules', 'init', '_direction', 'oneWayMovement', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopedSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideNextClass', 'slidePrevClass', 'wrapperClass', 'lazyPreloaderClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control', 'injectStyles', 'injectStylesUrls'];\nexport { paramsList };","import React from 'react';\nfunction isChildSwiperSlide(child) {\n return child.type && child.type.displayName && child.type.displayName.includes('SwiperSlide');\n}\nfunction processChildren(c) {\n const slides = [];\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(slide => slides.push(slide));\n }\n });\n return slides;\n}\nfunction getChildren(c) {\n const slides = [];\n const slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n const foundSlides = processChildren(child.props.children);\n if (foundSlides.length > 0) {\n foundSlides.forEach(slide => slides.push(slide));\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides,\n slots\n };\n}\nexport { getChildren };","import { isObject, extend } from './utils.js';\nfunction updateSwiper({\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n}) {\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n extend(currentParams[key], passedParams[key]);\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n swiper.el.shadowEl.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n swiper.el.shadowEl.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n swiper.el.shadowEl.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n swiper.el.shadowEl.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\nexport { updateSwiper };","import { useEffect, useLayoutEffect } from 'react';\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\nexport { useIsomorphicLayoutEffect };","import { createContext, useContext } from 'react';\nexport const SwiperSlideContext = /*#__PURE__*/createContext(null);\nexport const useSwiperSlide = () => {\n return useContext(SwiperSlideContext);\n};\nexport const SwiperContext = /*#__PURE__*/createContext(null);\nexport const useSwiper = () => {\n return useContext(SwiperContext);\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport SwiperCore from 'swiper';\nimport { getParams } from '../components-shared/get-params.js';\nimport { mountSwiper } from '../components-shared/mount-swiper.js';\nimport { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend, wrapperClass } from '../components-shared/utils.js';\nimport { getChangedParams } from '../components-shared/get-changed-params.js';\nimport { getChildren } from './get-children.js';\nimport { updateSwiper } from '../components-shared/update-swiper.js';\nimport { renderVirtual } from './virtual.js';\nimport { updateOnVirtualData } from '../components-shared/update-on-virtual-data.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperContext } from './context.js';\nconst Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n let {\n className,\n tag: Tag = 'div',\n wrapperTag: WrapperTag = 'div',\n children,\n onSwiper,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n let eventsAssigned = false;\n const [containerClasses, setContainerClasses] = useState('swiper');\n const [virtualData, setVirtualData] = useState(null);\n const [breakpointChanged, setBreakpointChanged] = useState(false);\n const initializedRef = useRef(false);\n const swiperElRef = useRef(null);\n const swiperRef = useRef(null);\n const oldPassedParamsRef = useRef(null);\n const oldSlides = useRef(null);\n const nextElRef = useRef(null);\n const prevElRef = useRef(null);\n const paginationElRef = useRef(null);\n const scrollbarElRef = useRef(null);\n const {\n params: swiperParams,\n passedParams,\n rest: restProps,\n events\n } = getParams(rest);\n const {\n slides,\n slots\n } = getChildren(children);\n const onBeforeBreakpoint = () => {\n setBreakpointChanged(!breakpointChanged);\n };\n Object.assign(swiperParams.on, {\n _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n });\n const initSwiper = () => {\n // init swiper\n Object.assign(swiperParams.on, events);\n eventsAssigned = true;\n const passParams = {\n ...swiperParams\n };\n delete passParams.wrapperClass;\n swiperRef.current = new SwiperCore(passParams);\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n const extendWith = {\n cache: false,\n slides,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n };\n if (!swiperElRef.current) {\n initSwiper();\n }\n\n // Listen for breakpoints change\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n const attachEvents = () => {\n if (eventsAssigned || !events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.on(eventName, events[eventName]);\n });\n };\n const detachEvents = () => {\n if (!events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.off(eventName, events[eventName]);\n });\n };\n useEffect(() => {\n return () => {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n });\n\n // set initialized flag\n useEffect(() => {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n });\n\n // mount swiper\n useIsomorphicLayoutEffect(() => {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n if (!swiperElRef.current) return;\n if (swiperRef.current.destroyed) {\n initSwiper();\n }\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper) onSwiper(swiperRef.current);\n // eslint-disable-next-line\n return () => {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []);\n\n // watch for params change\n useIsomorphicLayoutEffect(() => {\n attachEvents();\n const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current, c => c.key);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper({\n swiper: swiperRef.current,\n slides,\n passedParams,\n changedParams,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n scrollbarEl: scrollbarElRef.current,\n paginationEl: paginationElRef.current\n });\n }\n return () => {\n detachEvents();\n };\n });\n\n // update on virtual update\n useIsomorphicLayoutEffect(() => {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]);\n\n // bypass swiper instance to slides\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n return slides.map((child, index) => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current,\n swiperSlideIndex: index\n });\n });\n }\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`)\n }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, {\n value: swiperRef.current\n }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, {\n className: wrapperClass(swiperParams.wrapperClass)\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), slots['container-end']));\n});\nSwiper.displayName = 'Swiper';\nexport { Swiper };","import Swiper from 'swiper';\nimport { isObject, extend } from './utils.js';\nimport { paramsList } from './params-list.js';\nfunction getParams(obj = {}, splitEvents = true) {\n const params = {\n on: {}\n };\n const events = {};\n const passedParams = {};\n extend(params, Swiper.defaults);\n extend(params, Swiper.extendedDefaults);\n params._emitClasses = true;\n params.init = false;\n const rest = {};\n const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n const plainObj = Object.assign({}, obj);\n Object.keys(plainObj).forEach(key => {\n if (typeof obj[key] === 'undefined') return;\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n if (splitEvents) {\n events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n } else {\n params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n }\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params,\n passedParams,\n rest,\n events\n };\n}\nexport { getParams };","import { needsNavigation, needsPagination, needsScrollbar } from './utils.js';\nfunction mountSwiper({\n el,\n nextEl,\n prevEl,\n paginationEl,\n scrollbarEl,\n swiper\n}, swiperParams) {\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n swiper.init(el);\n}\nexport { mountSwiper };","import { paramsList } from './params-list.js';\nimport { isObject } from './utils.js';\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) {\n const keys = [];\n if (!oldParams) return keys;\n const addKey = key => {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n if (children && oldChildren) {\n const oldChildrenKeys = oldChildren.map(getKey);\n const childrenKeys = children.map(getKey);\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n }\n const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n watchParams.forEach(key => {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n const newKeys = Object.keys(swiperParams[key]);\n const oldKeys = Object.keys(oldParams[key]);\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(newKey => {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(oldKey => {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\nexport { getChangedParams };","export const updateOnVirtualData = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n};","import React from 'react';\nfunction renderVirtual(swiper, slides, virtualData) {\n if (!virtualData) return null;\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n const style = swiper.isHorizontal() ? {\n [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n } : {\n top: `${virtualData.offset}px`\n };\n const {\n from,\n to\n } = virtualData;\n const loopFrom = swiper.params.loop ? -slides.length : 0;\n const loopTo = swiper.params.loop ? slides.length * 2 : slides.length;\n const slidesToRender = [];\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n slidesToRender.push(slides[getSlideIndex(i)]);\n }\n }\n return slidesToRender.map(child => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper,\n style\n });\n });\n}\nexport { renderVirtual };","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { useRef, useState, forwardRef } from 'react';\nimport { uniqueClasses } from '../components-shared/utils.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperSlideContext } from './context.js';\nconst SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n let {\n tag: Tag = 'div',\n children,\n className = '',\n swiper,\n zoom,\n lazy,\n virtualIndex,\n swiperSlideIndex,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n const slideElRef = useRef(null);\n const [slideClasses, setSlideClasses] = useState('swiper-slide');\n const [lazyLoaded, setLazyLoaded] = useState(false);\n function updateClasses(_s, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n useIsomorphicLayoutEffect(() => {\n if (typeof swiperSlideIndex !== 'undefined') {\n slideElRef.current.swiperSlideIndex = swiperSlideIndex;\n }\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n if (!slideElRef.current || !swiper) {\n return;\n }\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n return;\n }\n swiper.on('_slideClass', updateClasses);\n // eslint-disable-next-line\n return () => {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(() => {\n if (swiper && slideElRef.current && !swiper.destroyed) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n const slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0\n };\n const renderChildren = () => {\n return typeof children === 'function' ? children(slideData) : children;\n };\n const onLoad = () => {\n setLazyLoaded(true);\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`),\n \"data-swiper-slide-index\": virtualIndex,\n onLoad: onLoad\n }, rest), zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n }))), !zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n })));\n});\nSwiperSlide.displayName = 'SwiperSlide';\nexport { SwiperSlide };","import { useState, useEffect } from \"react\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\n\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport Modal from \"../UI/Modal/Modal\";\r\nimport Error from \"../UI/Error/Error\";\r\n\r\nimport { Navigation, Pagination, Scrollbar, FreeMode } from 'swiper';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\nimport ImageGallery from 'react-image-gallery';\r\n\r\nimport 'swiper/scss';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\nimport 'swiper/css/scrollbar';\r\nimport 'react-image-gallery/styles/scss/image-gallery.scss';\r\n\r\nimport './gameScreenshots.scss';\r\n\r\nconst GameScreenshots = ({id}) => {\r\n const [screenshots, setScreenshots] = useState([]);\r\n const [showGallery, setShowGallery] = useState(false);\r\n const [selectedIndex, setSelectedIndex] = useState(0);\r\n const [getScreenshots, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGameScreenshotsById(id);\r\n setScreenshots(response.data.results);\r\n });\r\n\r\n useEffect(() => {\r\n getScreenshots();\r\n }, [id]);\r\n\r\n const sliderBreakpoints = {\r\n 0: {\r\n slidesPerView: 'auto',\r\n freeMode: {enabled: true},\r\n },\r\n 576: {\r\n slidesPerView: 3,\r\n spaceBetween: 10,\r\n scrollbar: { draggable: true },\r\n },\r\n };\r\n\r\n const handleImageClick = (index) => {\r\n setShowGallery(true);\r\n setSelectedIndex(index);\r\n document.body.style.overflow = 'hidden';\r\n };\r\n\r\n const handleCloseGallery = () => {\r\n setShowGallery(false);\r\n document.body.style.overflow = 'auto';\r\n };\r\n\r\n const galleryImages = screenshots.map((screenshot) => ({\r\n original: screenshot.image,\r\n thumbnail: screenshot.image,\r\n }));\r\n\r\n return (\r\n <div className=\"game-screenshot__inner\">\r\n {isLoading \r\n ? <Loader/>\r\n : <Swiper\r\n modules={[Navigation, Pagination, Scrollbar, FreeMode]}\r\n spaceBetween={10}\r\n slidesPerView={3}\r\n loop={true}\r\n navigation\r\n pagination={{ clickable: true }}\r\n scrollbar={{ draggable: true }}\r\n wrapperClass={'screenshots-slider'}\r\n breakpoints={sliderBreakpoints}\r\n >\r\n {error \r\n ? <Error/>\r\n : screenshots.map((screenshot, index) => {\r\n return <SwiperSlide key={screenshot.id} onClick={() => handleImageClick(index)}>\r\n <img src={screenshot.image} alt=\"game-screenshot\" className=\"game-screenshot\" />\r\n </SwiperSlide>\r\n })\r\n }\r\n </Swiper>\r\n }\r\n {showGallery && (\r\n <Modal handleClose={handleCloseGallery}>\r\n <ImageGallery\r\n items={galleryImages}\r\n startIndex={selectedIndex}\r\n showPlayButton={false}\r\n showFullscreenButton={false}\r\n showNav={true}\r\n loading={true}\r\n showBullets={true}\r\n showIndex={true}\r\n indexSeparator=\"of\"\r\n />\r\n </Modal>\r\n )}\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameScreenshots;","import { useState, useEffect } from \"react\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\n\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport Error from \"../UI/Error/Error\";\r\n\r\nimport './gameAchievements.scss';\r\n\r\nconst GameAchievements = ({id}) => {\r\n const [achievs, setAchievs] = useState([]);\r\n const [getAchieves, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGameAchiviementsById(id);\r\n setAchievs(response.data.results);\r\n });\r\n\r\n useEffect(() => {\r\n getAchieves();\r\n }, [id]);\r\n\r\n return (\r\n <div className=\"game-achievements__inner\">\r\n {isLoading \r\n ? <Loader/>\r\n : achievs.length !== 0\r\n ? achievs.map(achieve => {\r\n return <div key={achieve.id} className=\"game-achieve\">\r\n <div className=\"game-achieve__photo\">\r\n <img src={achieve.image} alt=\"\" />\r\n </div>\r\n <div className=\"game-achieve__text\">\r\n <div className=\"game-achieve__name\">{achieve.name}</div>\r\n <div className=\"game-achieve__percent\">{achieve.percent}%</div>\r\n <div className=\"game-achieve__descr\">{achieve.description}</div>\r\n </div>\r\n </div>\r\n })\r\n : <div>There is no achievements for this game</div>\r\n }\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameAchievements;","import { useState, useEffect } from \"react\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport DevelopersService from \"../../API/services/developers/DevelopersService\";\r\n\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport Error from \"../UI/Error/Error\";\r\nimport { Navigation, Pagination, Scrollbar } from 'swiper';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\n\r\nimport 'swiper/scss';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\nimport 'swiper/css/scrollbar';\r\nimport './gameDevs.scss';\r\n\r\nconst GameDevs = ({id}) => {\r\n const [devs, setDevs] = useState([]);\r\n const [getDevs, isLoading, error] = useFetching(async () => {\r\n const response = await DevelopersService.getDevelopersGameById(id);\r\n setDevs(response.data.results);\r\n });\r\n\r\n useEffect(() => {\r\n getDevs();\r\n }, [id]);\r\n\r\n const sliderBreakpoints = {\r\n 0: {\r\n slidesPerView: 'auto',\r\n freeMode: {enabled: true},\r\n },\r\n 576: {\r\n slidesPerView: 2,\r\n spaceBetween: 10,\r\n },\r\n 692: {\r\n slidesPerView: 2,\r\n spaceBetween: 10,\r\n freeMode: {enabled: false},\r\n },\r\n 992: {\r\n slidesPerView: 3,\r\n spaceBetween: 10,\r\n },\r\n };\r\n\r\n const swiperParams = {\r\n modules: [Navigation, Pagination, Scrollbar],\r\n spaceBetween: 10,\r\n slidesPerView: 3,\r\n navigation: true,\r\n wrapperClass: 'devs-slider',\r\n };\r\n\r\n const swiperContent = devs.length !== 0\r\n ? <Swiper\r\n {...swiperParams}\r\n breakpoints={sliderBreakpoints}\r\n >\r\n {\r\n devs.slice(0, 5).map(dev => {\r\n return <SwiperSlide key={dev.id}>\r\n <div className=\"game-developer\" style={{backgroundImage: `linear-gradient(rgba(32, 32, 32, 0.5), rgb(32, 32, 32) 70%), url(${dev.image_background})`}}>\r\n <div className=\"game-developer__head\">\r\n <div className=\"game-developer__head-photo\">\r\n <img src={\r\n dev.image === null ? 'https://w7.pngwing.com/pngs/336/946/png-transparent-avatar-user-medicine-surgery-patient-avatar-face-heroes-head.png' : dev.image\r\n } alt=\"developer\" />\r\n </div>\r\n <div className=\"game-developer__head-name\">\r\n <a href=\"#\">{dev.name}</a></div>\r\n <div className=\"game-developer__head-positions\">\r\n {dev.positions.map((position, index, array) => {\r\n if ((index + 1) !== array.length) {\r\n return <div key={position.id} \r\n className=\"game-developer__head-position\">\r\n {position.name.charAt(0).toUpperCase() + position.name.slice(1)},\r\n </div>\r\n } else {\r\n return <div key={position.id} \r\n className=\"game-developer__head-position\">\r\n {position.name.charAt(0).toUpperCase() + position.name.slice(1)}\r\n </div>\r\n } \r\n })}\r\n </div>\r\n </div>\r\n <div className=\"card-item__content\">\r\n <div className=\"card-item__content-title\">Known for {dev.games_count} games</div>\r\n <ul className=\"card-item__content-items\">\r\n {dev.games.map(game => {\r\n return <li key={game.id} className=\"card-item__content-game\">\r\n <Link to={`/games/${game.slug}`} className=\"card-item__content-name\">{game.name}</Link>\r\n <span className=\"card-item__content-added\">{game.added}</span>\r\n </li>\r\n })}\r\n </ul>\r\n </div>\r\n </div>\r\n </SwiperSlide>\r\n })\r\n }\r\n <SwiperSlide>\r\n <div className=\"game-developer\">\r\n <Link to=\"/developers\" className=\"game-developer__button-more\">\r\n <button>More</button>\r\n </Link>\r\n </div>\r\n </SwiperSlide>\r\n </Swiper>\r\n : <div>There is no creators for this game</div>\r\n\r\n return (\r\n <div className=\"game-devs__inner\">\r\n {isLoading\r\n ? <Loader/>\r\n : swiperContent\r\n }\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameDevs;","export const formatDate = (dateString) => {\r\n const months = [\r\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'\r\n ];\r\n\r\n const date = new Date(dateString);\r\n const year = date.getFullYear();\r\n const month = months[date.getMonth()];\r\n const day = date.getDate();\r\n\r\n const formattedDate = `${month} ${day}, ${year}`;\r\n return formattedDate;\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\n\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport Error from \"../UI/Error/Error\";\r\n\r\nimport { formatDate } from '../../utils/formatDate';\r\n\r\nimport './gameRedditPosts.scss';\r\n\r\nconst GameRedditPosts = ({id}) => {\r\n const [posts, setPosts] = useState([]);\r\n const [getPosts, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getRedditPostsById(id);\r\n setPosts(response.data.results);\r\n });\r\n\r\n useEffect(() => {\r\n getPosts();\r\n }, [id]);\r\n\r\n const postsContent = posts.length !== 0\r\n ? posts.map(post => {\r\n return <div key={post.id} className=\"game-reddit__post\">\r\n <a href={post.url} className=\"game-reddit__post-head\">\r\n {post.image === null \r\n ? null \r\n : <div className=\"game-reddit__post-photo\">\r\n <img src={post.image} alt=\"reddit-post\" />\r\n </div> \r\n }\r\n <div className=\"game-reddit__post-name\">{post.name}</div>\r\n </a>\r\n <div className=\"game-reddit__post-meta\">\r\n <div className=\"game-reddit__post-date\">{formatDate(post.created)}</div>\r\n <div className=\"game-reddit__post-separator\">|</div>\r\n <a href={post.username_url} target=\"_blank\" rel=\"noreferrer\" className=\"game-reddit__post-username\">{post.username}</a>\r\n </div>\r\n </div>\r\n })\r\n : <div>There is no Reddit posts</div>\r\n \r\n return (\r\n <div className=\"game-reddit__inner\">\r\n {isLoading\r\n ? <Loader/>\r\n : postsContent\r\n }\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameRedditPosts;","import { useState, useEffect } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\n\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport Error from \"../UI/Error/Error\";\r\nimport GameItem from \"../GameItem/GameItem\";\r\n\r\nimport './gameAdditions.scss';\r\n\r\nconst GameAdditions = ({id}) => {\r\n const [additions, setAdditions] = useState([]);\r\n const [getAdditions, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGameAdditionsById(id);\r\n setAdditions(response.data.results);\r\n });\r\n const [showMore, setShowMore] = useState(false);\r\n\r\n useEffect(() => {\r\n getAdditions();\r\n }, [id]);\r\n\r\n const showNoAdditionsMessage = !isLoading && additions.length === 0;\r\n const showLimitedAdditions = !isLoading && additions.length > 0 && additions.length > 3;\r\n let showAllAdditions = !isLoading && additions.length > 0 && additions.length <= 3;\r\n\r\n const limitedAdditions = additions.slice(0, 3).map((addition) => (\r\n <div className=\"game-addition\" key={addition.id}>\r\n <GameItem game={addition} />\r\n </div>\r\n ));\r\n \r\n const allAdditions = additions.map((addition) => (\r\n <div className=\"game-addition\" key={addition.id}>\r\n <GameItem game={addition} />\r\n </div>\r\n ));\r\n return (\r\n <div className=\"game-additions__inner\">\r\n {isLoading && <Loader />}\r\n {showNoAdditionsMessage && <div>There are no additions for this game</div>}\r\n {showLimitedAdditions && (\r\n <>\r\n {showMore \r\n ? allAdditions\r\n : <>\r\n {limitedAdditions}\r\n <div className=\"game-addition no-game\">\r\n <div className=\"game-addition__no-game\">\r\n <button onClick={() => setShowMore(true)}>More</button>\r\n </div>\r\n </div>\r\n </>\r\n }\r\n </>\r\n )}\r\n {showAllAdditions && allAdditions}\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default GameAdditions;","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgPsStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 28 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.4,\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.958 14.297l-.91.378c-1.365.621-2.073 1.27-2.047 1.837.075.838.96 1.459 2.578 1.918 2.098.595 4.222.73 6.421.378v-2.35l-1.744.702c-1.82.676-2.756.108-2.756.108-.278-.189-.404-.648.354-.945l.96-.378L9 14.729V12l-.809.297-5.233 2zM17 5.433v6.899c1.385.692 2.615.745 3.538.026.95-.692 1.462-1.89 1.462-3.702 0-1.89-.359-3.33-1.154-4.288-.718-1.012-2-1.864-3.897-2.53C14.589 1.038 12.589.346 11 0v20.642L15.282 22V4.847C15.256 3.81 17 3.89 17 5.433z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.994 15.54c-.027-.713-.882-1.267-2.404-1.768-1.71-.554-3.18-.818-4.782-.765-1.469.026-3.232.5-4.808 1.002v2.612l4.327-1.504s1.31-.475 2.431-.185c.855.211.802.686-.053.977l-.989.395L16 18.336V21l2.671-.95 6.411-2.242.748-.343c1.55-.554 2.244-1.16 2.164-1.926z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPsStore);\nexport default __webpack_public_path__ + \"static/media/psStore.ee3230058629052169a37b6e07ae02ee.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgSteamStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M.028 10.277a21.629 21.629 0 00-.004-.008C.399 4.535 5.148 0 10.954 0c6.048 0 10.952 4.925 10.952 11s-4.904 11-10.953 11C6.015 22 1.84 18.719.473 14.208l4.147 1.719c.21.937.85 1.76 1.795 2.155a3.034 3.034 0 003.971-1.643c.167-.406.245-.832.234-1.257l3.835-2.752.094.001c2.295 0 4.16-1.879 4.16-4.186 0-2.308-1.865-4.185-4.16-4.185-2.294 0-4.16 1.877-4.16 4.185v.054l-2.68 3.91c-.434-.02-.87.057-1.282.228a2.976 2.976 0 00-.513.272L.028 10.276v.001zm9.718 5.892a2.342 2.342 0 01-3.065 1.27 2.334 2.334 0 01-1.206-1.156l1.354.564c.88.368 1.89-.051 2.256-.935a1.74 1.74 0 00-.929-2.27l-1.4-.582a2.331 2.331 0 012.993 1.305 2.355 2.355 0 01-.003 1.804zm4.803-5.135a2.784 2.784 0 01-2.771-2.789 2.784 2.784 0 012.771-2.788 2.784 2.784 0 012.773 2.788 2.784 2.784 0 01-2.773 2.789zm-2.077-2.793c0 1.157.933 2.094 2.082 2.094 1.15 0 2.082-.937 2.082-2.094a2.09 2.09 0 00-2.082-2.096 2.09 2.09 0 00-2.082 2.096z\",\n opacity: 0.4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSteamStore);\nexport default __webpack_public_path__ + \"static/media/steamStore.3c8772cba59a2474d8b2b75bd6d15c1e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgXboxStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M4.851 1.847l-.03.026c.062-.065.151-.135.21-.173C6.734.592 8.703 0 10.887 0c2.044 0 3.958.564 5.592 1.546.118.07.441.292.608.493v.001c-1.576-1.738-6.21 1.991-6.21 1.991-1.602-1.235-3.076-2.077-4.174-2.377-.917-.251-1.552-.041-1.853.193zM18.873 3.49c-.048-.053-.1-.103-.148-.158-.399-.437-.889-.543-1.33-.514-.403.126-2.26.795-4.549 2.956 0 0 2.577 2.506 4.155 5.067 1.576 2.561 2.519 4.574 1.94 7.368a10.845 10.845 0 002.831-7.323c0-2.855-1.099-5.454-2.899-7.396zm-3.932 8.445a75.408 75.408 0 00-3.113-3.274c-.3-.298-.617-.61-.95-.932 0 0-.502.502-1.156 1.162V8.89c-.836.844-1.92 1.946-2.521 2.589-1.071 1.143-4.14 4.733-4.313 6.746 0 0-.683-1.596.816-5.279.979-2.407 3.937-6.022 5.172-7.2 0 0-1.129-1.242-2.545-2.1l-.009-.002s-.016-.013-.041-.03c-.681-.405-1.425-.718-2.14-.76-.732.052-1.195.586-1.195.586a10.847 10.847 0 00-2.944 7.447c0 6.012 4.874 10.886 10.886 10.886 3.191 0 6.062-1.376 8.054-3.563 0-.003-.23-1.438-1.694-3.497-.344-.482-1.603-1.988-2.307-2.778z\",\n opacity: 0.4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgXboxStore);\nexport default __webpack_public_path__ + \"static/media/xboxStore.cf883a72b8f5f821fc37de8052ae8f0e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgNintendoStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 25 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n fillRule: \"evenodd\",\n d: \"M10 0h5c5.523 0 10 4.477 10 10s-4.477 10-10 10h-5C4.477 20 0 15.523 0 10S4.477 0 10 0zm-.5 2a7.5 7.5 0 000 15h6a7.5 7.5 0 000-15h-6zM8.005 5h2.719l3.62 6.21V5H17v8.995h-2.605l-3.754-6.238V14H8l.005-9z\",\n opacity: 0.4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNintendoStore);\nexport default __webpack_public_path__ + \"static/media/nintendoStore.76701a975fc1e33c6c6c075724584241.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgEpicgamesStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 21 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.044.024H1.933C.546.024.034.53.034 1.9v16.54c0 .155.006.299.02.432.032.3.038.59.32.92.027.032.314.243.314.243.155.075.26.13.435.2l8.426 3.487c.437.198.62.275.938.269h.002c.318.006.501-.071.938-.27l8.426-3.486c.175-.07.28-.125.435-.2 0 0 .288-.211.315-.243.282-.33.288-.62.32-.92.013-.133.02-.277.02-.432V1.9c0-1.37-.512-1.876-1.9-1.876zm-1.146 16.628l-.004.038-.004.042-.008.038-.011.039-.008.034-.012.038-.015.034-.015.03-.016.035-.019.03-.02.031-.022.03-.02.031-.022.027-.027.027-.023.023-.031.026-.027.023-.031.023-.03.019-.031.023-.035.019-.035.015-.034.02-.039.014-.038.016-.039.011-.038.012-.035.011-.038.008-.035.007-.034.008-.039.008-.038.003-.035.004-.038.004-.043.004-.038.004h-.161l-.039-.004h-.042l-.039-.004-.038-.004-.042-.004-.039-.007-.038-.004-.039-.008-.038-.007-.039-.008-.038-.008-.039-.011-.034-.008-.039-.011-.038-.012-.035-.015-.038-.011-.035-.012-.038-.015-.035-.015-.034-.015-.035-.02-.035-.015-.034-.019-.03-.019-.036-.019-.03-.019-.031-.019-.03-.023-.031-.023-.031-.023-.031-.022-.027-.023-.03-.027.022-.03.027-.027.023-.03.027-.031.023-.027.023-.03.027-.031.023-.027.027-.03.023-.027.027-.03.023-.031.023-.027.027-.03.023-.03.027-.028.023-.03.031.023.035.023.03.023.035.023.031.019.035.022.03.02.035.015.03.019.035.015.035.015.034.016.035.011.035.015.038.012.038.011.035.012.039.007.038.008.038.008.043.003.038.008h.039l.042.004h.084l.043-.004.038-.008.035-.007.034-.008.031-.011.027-.016.031-.022.023-.027.015-.03.012-.035.004-.038v-.008l-.004-.046-.015-.038-.02-.026-.027-.023-.03-.023-.031-.015-.035-.016-.038-.015-.046-.019-.027-.008-.03-.007-.036-.012-.034-.007-.039-.012-.038-.007-.042-.012-.039-.008-.042-.011-.039-.008-.038-.011-.039-.008-.038-.011-.035-.012-.038-.007-.035-.012-.034-.011-.035-.012-.042-.015-.039-.015-.038-.015-.039-.016-.034-.019-.038-.019-.031-.019-.035-.019-.03-.023-.031-.019-.027-.023-.027-.026-.027-.027-.023-.027-.023-.027-.02-.026-.019-.03-.019-.035-.015-.027-.012-.03-.011-.034-.012-.031-.008-.038-.007-.034-.004-.039-.004-.038-.004-.042v-.087l.004-.039.004-.034.004-.038.007-.034.008-.035.012-.034.007-.034.016-.035.015-.034.015-.034.02-.035.019-.034.023-.03.023-.031.027-.03.027-.027.027-.03.03-.028.027-.019.031-.023.031-.022.03-.02.035-.019.035-.015.034-.019.035-.015.039-.012.038-.015.035-.011.03-.008.035-.008.035-.007.038-.008.035-.008.038-.003.039-.004.038-.004.038-.004h.166l.042.004.042.004h.039l.042.004.039.007.042.004.038.008.035.007.038.008.039.008.034.007.039.012.034.011.035.008.039.015.034.012.035.015.034.015.039.015.034.02.031.015.035.019.034.019.031.019.035.023.03.019.031.023.031.023.03.022-.022.031-.02.03-.023.031-.023.03-.023.035-.019.03-.023.031-.023.03-.02.031-.022.03-.024.031-.019.03-.023.035-.023.03-.023.03-.02.031-.022.03-.031-.022-.035-.019-.03-.02-.031-.022-.035-.015-.03-.02-.035-.015-.03-.015-.036-.015-.03-.015-.035-.012-.03-.015-.043-.011-.038-.012-.039-.011-.038-.008-.039-.008-.038-.007-.038-.004-.04-.004-.034-.004h-.083l-.042.008-.039.008-.035.007-.03.015-.027.016-.035.03-.023.035-.015.034-.004.038v.008l.004.05.019.041.015.023.027.027.035.019.03.019.039.015.042.016.047.015.03.007.03.012.036.007.034.012.039.008.042.011.042.011.043.012.042.007.038.012.042.011.04.008.038.011.038.012.034.011.039.012.035.011.034.012.043.015.038.019.038.015.039.02.035.018.034.02.03.018.032.023.03.02.031.026.03.027.028.03.027.027.023.03.023.035.019.03.02.035.015.03.011.034.012.035.007.034.008.038.008.039.004.038.003.042v.091l-.003.042zm-2.697.763h-2.203v-2.777h2.222v.63h-1.488v.452h1.338v.592h-1.338v.474h1.508v.629h-.04zm-2.809 0h-.704v-1.642l-.019.03-.023.035-.02.03-.022.031-.02.034-.023.03-.019.031-.019.035-.023.03-.02.031-.022.03-.02.035-.023.03-.019.031-.019.034-.023.031-.02.03-.022.035-.02.03-.023.031-.019.035-.02.03-.022.03-.02.035-.022.03-.02.031-.023.03-.019.035-.02.03-.022.031-.02.035-.023.03-.019.03-.023.035-.02.03h-.014l-.023-.033-.02-.031-.023-.035-.02-.03-.022-.034-.02-.031-.022-.035-.02-.03-.023-.034-.019-.03-.023-.035-.02-.031-.022-.034-.02-.03-.022-.035-.02-.03-.023-.035-.023-.03-.02-.035-.022-.03-.02-.035-.022-.03-.02-.035-.023-.03-.019-.035-.023-.03-.02-.035-.022-.03-.02-.035-.023-.03-.019-.035-.023-.03-.02-.035-.022-.03v1.634h-.731v-2.777h.789l.019.03.019.035.023.03.02.034.018.031.02.034.019.03.023.035.02.03.018.031.02.034.019.03.023.035.02.03.018.035.02.03.023.03.019.035.019.03.02.035.018.03.024.034.019.03.019.035.02.03.018.03.024.035.019.03.019.035.02.03.018.035.024.03.019.034.019.03.02-.03.019-.034.022-.03.02-.035.019-.03.02-.034.022-.03.02-.035.019-.03.019-.03.023-.035.02-.03.018-.035.02-.03.023-.035.019-.03.02-.034.018-.03.02-.031.023-.034.019-.031.02-.034.018-.03.023-.035.02-.03.019-.031.02-.034.022-.03.02-.035.018-.03.02-.035.023-.03.02-.034.018-.031h.788v2.777h-.038zM7.931 16.27l-.012-.035-.015-.038-.015-.034-.012-.035-.015-.034-.015-.038-.012-.035-.016-.034-.015-.035-.011-.034-.016-.038-.011-.035-.016-.034-.015-.035-.012-.034-.015-.038-.015-.035-.012-.034-.015-.035-.016-.038-.011-.034-.016-.035-.015.035-.011.034-.016.038-.015.035-.012.034-.015.035-.016.038-.015.034-.011.035-.016.034-.015.035-.012.038-.015.034-.015.035-.012.034-.015.035-.016.038-.015.034-.012.035-.015.034-.015.038-.012.035-.015.034h.649l-.015-.034zm1.207 1.144h-.753l-.016-.034-.011-.035-.016-.034-.015-.038-.011-.034-.016-.035-.015-.034-.012-.034-.015-.035-.016-.034-.011-.034-.015-.039-.016-.034-.011-.034-.016-.035H7.07l-.015.035-.012.034-.015.034-.016.039-.011.034-.016.034-.015.035-.012.034-.015.034-.015.035-.012.034-.015.038-.016.034-.011.035-.016.034h-.776l.015-.034.015-.035.016-.034.015-.038.012-.034.015-.035.016-.034.015-.034.015-.035.016-.038.015-.034.015-.035.012-.034.015-.034.016-.035.015-.038.016-.034.015-.034.015-.035.016-.034.011-.034.015-.039.016-.034.015-.034.016-.035.015-.034.016-.034.015-.038.011-.035.016-.034.015-.034.015-.035.016-.034.015-.038.016-.034.015-.035.012-.034.015-.034.015-.035.016-.038.015-.034.015-.035.016-.034.015-.034.012-.035.015-.034.016-.038.015-.034.015-.035.016-.034.015-.034.015-.035.012-.038.015-.034.016-.034.015-.035.015-.034.016-.034.015-.039.016-.034.011-.034.016-.035.015-.034.015-.034.016-.038.015-.035.015-.034.016-.034.011-.035.016-.034.015-.038.016-.035.015-.034.015-.034.016-.035.015-.034.012-.038.015-.034.015-.035.016-.034h.711l.015.034.016.035.015.034.015.038.012.034.015.035.016.034.015.034.016.035.015.038.015.034.016.035.011.034.016.034.015.035.015.038.016.034.015.034.016.035.015.034.011.034.016.039.015.034.015.034.016.035.015.034.016.034.015.038.012.035.015.034.015.034.016.035.015.034.015.038.016.034.015.035.012.034.015.034.016.035.015.034.015.038.016.035.015.034.015.034.012.035.015.034.016.038.015.034.015.035.016.034.015.034.016.035.011.038.015.034.016.034.015.035.015.034.016.034.015.039.016.034.011.034.016.035.015.034.015.034.016.038.015.035.016.034.015.034.011.035.016.034.015.038.016.035.015.034.015.034.016.035.015.034.012.038.015.034.015.035.016.034h-.039zM5.77 17.06l-.03.023-.028.02-.03.022-.031.02-.03.022-.032.02-.03.018-.035.02-.035.018-.034.02-.035.015-.034.019-.039.015-.034.015-.039.015-.034.016-.035.011-.035.012-.034.011-.039.011-.034.012-.039.008-.034.007-.039.008-.038.007-.039.004-.042.004-.038.004-.043.004-.038.004-.043.003h-.165l-.038-.003-.043-.004-.038-.004-.038-.004-.039-.004-.038-.007-.039-.008-.034-.008-.039-.007-.035-.012-.038-.007-.035-.012-.034-.015-.035-.012-.038-.015-.035-.015-.034-.015-.035-.016-.035-.019-.03-.018-.035-.02-.03-.019-.031-.019-.031-.023-.031-.022-.03-.023-.028-.023-.027-.023-.027-.027-.026-.023-.027-.026-.027-.027-.023-.027-.023-.03-.024-.027-.019-.03-.023-.031-.019-.03-.02-.031-.018-.035-.02-.03-.015-.034-.015-.035-.016-.034-.015-.034-.012-.03-.015-.035-.008-.035-.011-.034-.008-.038-.012-.034-.007-.039-.004-.034-.008-.038-.004-.034-.004-.038-.003-.039-.004-.038v-.126l.004-.042v-.038l.003-.038.004-.042.008-.038.004-.038.008-.034.011-.038.008-.039.011-.034.012-.038.011-.034.016-.039.015-.034.016-.034.015-.035.015-.034.02-.034.019-.03.019-.031.02-.03.019-.031.022-.03.024-.031.023-.03.023-.028.027-.026.023-.027.027-.027.027-.026.026-.023.031-.027.027-.023.03-.023.032-.019.03-.023.031-.019.03-.019.035-.019.035-.02.035-.018.034-.015.035-.016.038-.019.031-.011.038-.012.035-.015.035-.008.034-.011.039-.008.034-.011.039-.008.038-.004.039-.007.038-.004.039-.004.038-.004.039-.003h.165l.042.003.043.004h.038l.038.004.043.008.034.003.039.008.038.008.035.007.034.008.035.008.035.011.034.008.03.011.036.012.034.015.035.015.034.015.035.02.035.015.03.019.035.019.03.019.035.019.031.023.03.019.032.023.03.023.031.026.03.023-.022.03-.027.028-.023.03-.027.03-.023.031-.023.027-.027.03-.023.03-.023.028-.027.03-.023.03-.027.031-.023.027-.023.03-.027.03-.023.031-.027.027-.023.03-.031-.022-.03-.027-.032-.019-.03-.023-.031-.019-.03-.02-.032-.018-.034-.02-.031-.014-.03-.016-.032-.011-.034-.012-.035-.011-.034-.008-.039-.007-.038-.008-.039-.004-.042-.004-.042-.003h-.081l-.038.003-.035.004-.038.008-.035.008-.035.01-.034.012-.035.016-.034.015-.031.019-.03.02-.032.018-.027.023-.027.023-.026.023-.024.026-.026.027-.024.03-.019.027-.019.031-.02.034-.018.03-.016.035-.011.034-.016.035-.011.038-.008.038-.008.034-.007.042-.004.038-.004.038v.088l.004.038.004.035.003.038.008.034.008.035.008.034.011.034.012.03.015.039.015.034.02.035.019.03.02.03.022.031.023.027.027.027.023.026.027.023.031.023.03.023.031.019.031.019.035.015.034.016.035.015.038.011.039.012.038.007.039.008.038.004.042.004h.089l.042-.004.043-.004.038-.004.038-.007.039-.008.038-.012.035-.007.034-.015.031-.016.035-.015.027-.015.03-.02v-.346h-.56v-.557h1.268v1.239l-.027.023zM4.534 8.355v2.77h1.759v1.273H3.119V3.21h3.147v1.273H4.534v2.6H6.2v1.273H4.534zm11.935.276h1.389v2.14c0 1.142-.569 1.706-1.72 1.706h-.7c-1.15 0-1.72-.564-1.72-1.707V4.837c0-1.142.57-1.707 1.72-1.707h.687c1.15 0 1.706.552 1.706 1.694V6.7h-1.388V4.902c0-.367-.172-.538-.53-.538h-.237c-.37 0-.543.17-.543.538v5.803c0 .368.172.538.543.538h.264c.357 0 .53-.17.53-.538V8.631zm-4.914 3.767v-9.19h1.415v9.19h-1.415zM9.502 7.292v-2.31c0-.368-.172-.539-.53-.539h-.581V7.83h.582c.357 0 .529-.17.529-.538zm-.304-4.083c1.15 0 1.719.564 1.719 1.707v2.441c0 1.142-.569 1.707-1.72 1.707h-.806v3.334H6.976v-9.19h2.222zM6.457 20.707h8.1l-4.134 1.347-3.966-1.347z\",\n fill: \"#FFF\",\n fillRule: \"evenodd\",\n opacity: 0.4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEpicgamesStore);\nexport default __webpack_public_path__ + \"static/media/epicgamesStore.c1ee1895a44786d1d2415ac91593adc1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgGooglePlayStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 18 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M16.9 8.09L3.354.29a2.173 2.173 0 00-2.178.007A2.208 2.208 0 00.088 2.198v15.603c0 .78.416 1.51 1.087 1.901a2.171 2.171 0 002.178.008L16.9 11.908a2.206 2.206 0 000-3.817zm-5.87-1.844l-1.86 2.61-4.45-6.243 6.31 3.633zM2.185 18.658a.847.847 0 01-.346-.109.87.87 0 01-.428-.748V2.198a.856.856 0 01.772-.86L8.355 10l-6.17 8.658zm2.536-1.272l4.449-6.243 1.86 2.61-6.31 3.633zm11.523-6.635l-4.059 2.337L9.985 10l2.2-3.088 4.059 2.337a.868.868 0 010 1.502z\",\n opacity: 0.5\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGooglePlayStore);\nexport default __webpack_public_path__ + \"static/media/googlePlayStore.63328e0af3b93c01c76943aa28c68198.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgAppleStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.4,\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.493 12.576c1.463 0 2.74-.02 4.014.004 1.322.028 2.231.946 2.195 2.133-.016.473-.17.717-.708.713-4.11-.016-8.217-.004-12.328-.024-1.04-.004-1.682-.605-1.666-1.447.012-.806.692-1.367 1.706-1.379.906-.012 1.815-.032 2.72 0 .518.02.85-.164 1.1-.6a775.913 775.913 0 013.994-6.85c.218-.373.17-.658-.012-1.027-.376-.75-1.035-1.334-1.237-2.18-.198-.822.044-1.491.63-1.76.776-.348 1.455-.124 1.985.662.174.26.335.533.525.841.38-.204.461-.593.667-.873.55-.758 1.322-.998 1.993-.593.703.424.914 1.194.445 2.012-1.718 2.994-3.468 5.971-5.207 8.953-.242.417-.477.826-.816 1.415z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.61 5.45c.805 1.37 1.56 2.661 2.312 3.956.558.958 1.112 1.916 1.65 2.882.161.292.412.284.683.284.986 0 1.972-.012 2.959.008 1.07.024 1.774.622 1.746 1.447-.024.826-.68 1.355-1.726 1.379-.53.012-1.06.004-1.775.004.457.798.845 1.475 1.233 2.148.23.397.42.806.332 1.275-.097.5-.392.85-.882 1.042-.529.204-1.002.1-1.414-.249a2.147 2.147 0 01-.449-.553c-1.783-3.018-3.65-5.992-5.271-9.098-.792-1.499-.574-3.299.602-4.525zM1.888 18.88c.049-1.25.683-2.003 1.261-2.72.457-.566 2.292-.085 2.656.585.13.24 0 .404-.101.58-.38.662-.72 1.351-1.156 1.973-.368.52-.918.845-1.593.617-.594-.192-1.156-.477-1.067-1.034z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAppleStore);\nexport default __webpack_public_path__ + \"static/media/appleStore.b69b9b60bd15f85106e0437aaffc0dc7.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgGogStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 23,\n viewBox: \"0 0 24 23\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\",\n opacity: 0.4\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 23,\n height: 22,\n x: 0.5,\n y: 0.5,\n stroke: \"#FFF\",\n rx: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n fillRule: \"nonzero\",\n d: \"M21.148 11.039c0 .56-.455 1.012-1.013 1.012h-4.348v-1.305h3.665a.39.39 0 00.39-.39V6.044a.39.39 0 00-.39-.39h-1.969a.39.39 0 00-.388.39v1.962c0 .216.174.39.388.39h1.573v1.305H16.8c-.56 0-1.014-.452-1.014-1.011V5.362c0-.559.453-1.012 1.014-1.012h3.334c.558 0 1.013.453 1.013 1.012v5.677zm-.004 7.57h-1.288v-3.987h-.905a.382.382 0 00-.383.384v3.602H17.28v-3.986h-.906a.383.383 0 00-.383.384v3.606h-1.288V14.33c0-.548.446-.995.999-.995h5.442v5.273zM13.73 9.7h-3.335c-.56 0-1.013-.452-1.013-1.011V5.362c0-.559.453-1.012 1.013-1.012h3.335c.558 0 1.012.453 1.012 1.012V8.69c0 .559-.454 1.011-1.012 1.011zm-.682-4.046h-1.97a.389.389 0 00-.39.39v1.961c0 .216.174.39.39.39h1.969a.385.385 0 00.385-.39V6.044a.385.385 0 00-.385-.39zm.624 11.957c0 .55-.447.996-.998.996H9.388a.997.997 0 01-.999-.996V14.33a.997.997 0 011-.995h3.284c.55 0 .998.446.998.995v3.28zm-1.67-2.99h-1.94a.383.383 0 00-.384.384v1.932c0 .211.171.385.384.385l.004-.003v.003h1.932v-.003l.004.003a.384.384 0 00.382-.385v-1.932a.382.382 0 00-.382-.384zm-3.665-3.583c0 .56-.455 1.012-1.014 1.012H2.975v-1.305H6.64a.389.389 0 00.389-.39V6.044a.389.389 0 00-.39-.39H4.67a.389.389 0 00-.388.39v1.962c0 .216.173.39.388.39h1.574v1.305H3.988c-.56 0-1.013-.452-1.013-1.011V5.362c0-.559.453-1.012 1.013-1.012h3.334c.56 0 1.014.453 1.014 1.012v5.677zm-.978 3.583H4.65a.383.383 0 00-.383.384v1.932c0 .212.17.386.383.386h2.708v1.288h-3.38v-.004c-.552 0-1-.446-1-.997v-3.28a.998.998 0 011-.995h3.38v1.286z\"\n }))));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGogStore);\nexport default __webpack_public_path__ + \"static/media/gogStore.9067292da7a1d81d759307a6b3645d0a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\nvar _excluded = [\"title\", \"titleId\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport * as React from \"react\";\nfunction SvgItchIoStore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.13.136C2.081.769.02 3.183 0 3.816v1.049C0 6.193 1.219 7.36 2.325 7.36c1.33 0 2.436-1.122 2.436-2.454 0 1.332 1.07 2.454 2.399 2.454 1.328 0 2.363-1.122 2.363-2.454 0 1.332 1.137 2.454 2.465 2.454h.024c1.329 0 2.466-1.122 2.466-2.454 0 1.332 1.035 2.454 2.363 2.454 1.329 0 2.398-1.122 2.398-2.454 0 1.332 1.107 2.454 2.436 2.454C22.781 7.36 24 6.193 24 4.865V3.816c-.02-.633-2.083-3.047-3.13-3.68C17.619.02 15.36 0 12 0 8.638 0 4.054.054 3.128.136zm6.377 6.599a2.787 2.787 0 01-.468.613 2.751 2.751 0 01-3.899 0 2.679 2.679 0 01-.446-.601c-.126.227-.303.42-.484.602a2.76 2.76 0 01-1.95.81.836.836 0 01-.263-.053 41.906 41.906 0 00-.168 3.007v.004l-.006 1.19c.021 2.378-.23 7.707 1.03 9.016 1.952.465 5.545.676 9.15.677h.001c3.605-.001 7.199-.212 9.152-.676 1.26-1.31 1.008-6.638 1.029-9.016l-.006-1.19v-.003a42.072 42.072 0 00-.168-3.007.84.84 0 01-.264.053 2.76 2.76 0 01-1.951-.81 2.813 2.813 0 01-.485-.6V6.75c-.127.225-.265.42-.447.6a2.752 2.752 0 01-3.898 0 2.806 2.806 0 01-.468-.613 2.76 2.76 0 01-2.494 1.42v.001l-.08.002A2.76 2.76 0 019.51 6.738l-.002-.003zm-2.004 2.64h.002c.793.003 1.499 0 2.371.972.688-.073 1.406-.11 2.126-.109.72 0 1.438.037 2.126.11.874-.971 1.578-.969 2.372-.971h.002v-.001c.375 0 1.874 0 2.92 2.99l1.123 4.103c.832 3.052-.266 3.127-1.636 3.13-2.032-.077-3.157-1.581-3.157-3.084-1.124.188-2.437.282-3.748.282-1.313 0-2.625-.094-3.749-.282 0 1.503-1.125 3.006-3.156 3.083-1.37-.002-2.469-.077-1.636-3.128l1.122-4.103c1.045-2.99 2.545-2.99 2.92-2.99l-.002-.002zM12 11.725c-.002.003-2.139 2.002-2.523 2.713l1.4-.057v1.243c0 .058.56.034 1.123.008.562.027 1.124.05 1.124-.008V14.38l1.4.057C14.14 13.727 12 11.726 12 11.726v-.001z\",\n fill: \"#FFF\",\n opacity: 0.4\n })));\n}\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgItchIoStore);\nexport default __webpack_public_path__ + \"static/media/itchIoStore.dfbce58f4f1d5461465f0cfa2d2921c1.svg\";\nexport { ForwardRef as ReactComponent };","import { useState, useEffect } from \"react\";\r\nimport { useFetching } from \"../../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../../API/services/games/GamesService\";\r\n\r\nimport Loader from \"../Loader/Loader\";\r\nimport Error from \"../Error/Error\";\r\nimport { Scrollbar, FreeMode } from 'swiper';\r\nimport { Swiper, SwiperSlide } from 'swiper/react';\r\n\r\nimport psStore from '../../../resources/img/icons/psStore.svg';\r\nimport steamStore from '../../../resources/img/icons/steamStore.svg';\r\nimport xboxStore from '../../../resources/img/icons/xboxStore.svg';\r\nimport nintendoStore from '../../../resources/img/icons/nintendoStore.svg';\r\nimport epicGamesStore from '../../../resources/img/icons/epicgamesStore.svg';\r\nimport googlePlayStore from '../../../resources/img/icons/googlePlayStore.svg';\r\nimport appleStore from '../../../resources/img/icons/appleStore.svg';\r\nimport gogStore from '../../../resources/img/icons/gogStore.svg';\r\nimport itchIoStore from '../../../resources/img/icons/itchIoStore.svg';\r\n\r\nimport 'swiper/scss';\r\nimport 'swiper/css/navigation';\r\nimport 'swiper/css/pagination';\r\nimport 'swiper/css/scrollbar';\r\nimport './storesAvailable.scss';\r\n\r\nconst StoresAvailable = ({stores, id}) => {\r\n const [urls, setUrls] = useState([]);\r\n const [getUrls, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getStoreGameById(id);\r\n setUrls(response.data.results);\r\n });\r\n const [isMobile, setIsMobile] = useState(false);\r\n\r\n const checkIsMobile = () => {\r\n setIsMobile(window.innerWidth < 992);\r\n };\r\n\r\n useEffect(() => {\r\n getUrls();\r\n\r\n checkIsMobile();\r\n window.addEventListener('resize', checkIsMobile);\r\n\r\n return () => {\r\n window.removeEventListener('resize', checkIsMobile);\r\n };\r\n }, [id, stores]);\r\n\r\n const usedIcons = {};\r\n const storeIcons = {\r\n 'PlayStation Store': psStore,\r\n 'Xbox 360 Store': xboxStore,\r\n 'Xbox Store': xboxStore,\r\n 'Epic Games': epicGamesStore,\r\n 'Steam': steamStore,\r\n 'Nintendo Store': nintendoStore,\r\n 'Google Play': googlePlayStore,\r\n 'App Store': appleStore,\r\n 'GOG': gogStore,\r\n 'itch.io' : itchIoStore,\r\n };\r\n \r\n const mobileSlides = stores.map(store => {\r\n const url = urls.find(url => url.store_id === store.store.id);\r\n if (url !== undefined) {\r\n return (\r\n <SwiperSlide key={store.store.id}>\r\n <a className=\"stores-button\"\r\n href={url.url} \r\n target=\"_blank\" rel=\"noreferrer\"\r\n key={store.store.id}>\r\n <div>{store.store.name}</div>\r\n <img src={storeIcons[store.store.name]} alt=\"store-icon\" />\r\n </a>\r\n </SwiperSlide>\r\n ) \r\n }\r\n });\r\n\r\n const desktopStores = stores.map(store => {\r\n const url = urls.find(url => url.store_id === store.store.id);\r\n if (url !== undefined) {\r\n return (\r\n <a className=\"stores-button\"\r\n href={url.url} \r\n target=\"_blank\" rel=\"noreferrer\"\r\n key={store.store.id}>\r\n <div>{store.store.name}</div>\r\n <img src={storeIcons[store.store.name]} alt=\"store-icon\" />\r\n </a>\r\n ) \r\n }\r\n });\r\n\r\n return (\r\n <div className=\"stores-inner\">\r\n {isLoading \r\n ? <Loader/>\r\n : isMobile ? (\r\n <Swiper\r\n modules={[Scrollbar, FreeMode]}\r\n spaceBetween={5}\r\n slidesPerView={\"auto\"}\r\n scrollbar={{ draggable: false }}\r\n freeMode={{enabled: true}}\r\n wrapperClass={'stores-slider'}\r\n >\r\n {error \r\n ? <Error/>\r\n : mobileSlides\r\n }\r\n </Swiper>\r\n )\r\n : desktopStores}\r\n {error && <Error/>}\r\n </div>\r\n );\r\n};\r\n\r\nexport default StoresAvailable;","import React from 'react';\r\n\r\nimport DOMPurify from 'dompurify';\r\n\r\nimport './requirements.scss';\r\n\r\nconst Requirements = ({platform, req, type}) => {\r\n let output = '';\r\n const sanitizedText = DOMPurify.sanitize(req); \r\n const regex = /\\n([\\w\\s®]+:)/g;\r\n\r\n if (platform.platform.name === 'PC' && Object.keys(platform.requirements).length !== 0) {\r\n let items = '';\r\n\r\n if (type === 'Minimal' && req !== undefined) {\r\n output = sanitizedText.replace(regex, '\\n<strong>$1</strong>');\r\n if (output.includes('\\n')) { // if formatted text\r\n items = output.split('\\n');\r\n output = items.map((item, index) => {\r\n \r\n if (index === 0) {\r\n return null;\r\n }\r\n\r\n if (item.length === 0) {\r\n return null; // if empty text\r\n }\r\n return <li className=\"reqs-li\" key={index} dangerouslySetInnerHTML={{ __html: item }}></li>;\r\n });\r\n } else { // if raw text\r\n return <li key={platform.platform.id} className=\"reqs-li\">{req}</li>;\r\n }\r\n }\r\n if (type === 'Recommended' && req !== undefined) {\r\n output = sanitizedText.replace(regex, '\\n<strong>$1</strong>');\r\n if (output.includes('\\n')) { // if formatted text\r\n items = output.split('\\n');\r\n output = items.map((item, index) => {\r\n \r\n if (index === 0) {\r\n return null;\r\n }\r\n\r\n if (item.length === 0) {\r\n return null; // if empty text\r\n }\r\n return <li className=\"reqs-li\" key={index} dangerouslySetInnerHTML={{ __html: item }}></li>;\r\n });\r\n } else { // if raw text\r\n return <li key={platform.platform.id} className=\"reqs-li\">{req}</li>;\r\n }\r\n }\r\n\r\n if (req === undefined) { // if is no requirement\r\n output = <div className=\"reqs-block\">\r\n <div className=\"reqs-undefined\">There is no {type} requirements information for this game</div>\r\n </div> \r\n }\r\n \r\n } else {\r\n return <div className=\"reqs-block\">\r\n <div className=\"reqs-name\">{type}</div>\r\n <ul className=\"reqs-ul\">\r\n <div className=\"reqs-undefined\">There is no {type} requirements information for this game</div>\r\n </ul> \r\n </div> \r\n }\r\n\r\n return (\r\n <div className=\"reqs-block\">\r\n <div className=\"reqs-name\">{type}</div>\r\n <ul className=\"reqs-ul\">\r\n {output}\r\n </ul> \r\n </div> \r\n );\r\n};\r\n\r\nexport default Requirements;","\r\nimport { useState, useEffect } from \"react\";\r\nimport { useParams, Link } from \"react-router-dom\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GameScreenshots from \"../../components/GameScreenshots/GameScreenshots\";\r\nimport GameAchievements from \"../../components/GameAchievements/GameAchievements\";\r\nimport GameDevs from \"../../components/GameDevs/GameDevs\";\r\nimport GameRedditPosts from \"../../components/GameRedditPosts/GameRedditPosts\";\r\nimport GameAdditions from \"../../components/GameAdditions/GameAdditions\";\r\n\r\nimport Platforms from \"../../components/UI/Platforms/Platforms\";\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport Ratings from \"../../components/UI/Ratings/Ratings\";\r\nimport StoresAvailable from \"../../components/UI/StoresAvailable/StoresAvailable\";\r\nimport Requirements from \"../../components/UI/Requirements/Requirements\";\r\n\r\nimport './singleGamePage.scss';\r\n\r\nconst GamePage = () => {\r\n const [game, setGame] = useState({});\r\n const [expanded, setExpanded] = useState(false);\r\n const [getGamesList, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGameBySlug(params.slug);\r\n setGame(response.data);\r\n });\r\n const params = useParams();\r\n \r\n const sanitizedText = DOMPurify.sanitize(game.description); // text about\r\n\r\n useEffect(() => {\r\n getGamesList();\r\n window.scrollTo(0, 0);\r\n }, [params.slug]);\r\n\r\n return (\r\n <div className=\"page game-page\">\r\n <div className=\"container\">\r\n {isLoading \r\n ? <Loader/>\r\n : <div className=\"game-page__wrapper\">\r\n <div className=\"game-page__main\">\r\n <div className=\"game-page__head\">\r\n {game.released === null\r\n ? null\r\n : <div className=\"game-page__head-date\">{game.released}</div>\r\n }\r\n <div className=\"game-page__head-platforms\"><Platforms platforms={game.platforms}/></div>\r\n <div className=\"game-page__head-genres\">{game.genres.map(genre => {\r\n return <Link to={`/genres/${genre.slug}`} key={genre.id} className=\"genre\">{genre.name}</Link> \r\n })}</div>\r\n <div className=\"game-page__head-playtime\">Average playtime: {game.playtime} hours</div>\r\n </div>\r\n <h1 className=\"game-page__name\">{game.name}</h1>\r\n <div className=\"game-page__ratings\">\r\n <div className=\"game-page__ratings-default\">\r\n {game.rating === 0 ? null : <Ratings type=\"rating\" rating={game.rating}/>}\r\n {game.metacritic === null ? null : <Ratings type=\"metacritic\" metacritic={game.metacritic}/>}\r\n </div>\r\n {game.ratings.length < 3 \r\n ? <div className=\"game-page__ratings-users\">\r\n <div className=\"rating-users\">Not rated yet 😴</div>\r\n </div>\r\n : <div className=\"game-page__ratings-users\">\r\n <div className=\"rating-users\">🎯 {game.ratings[0].count}</div>\r\n <div className=\"rating-users\">👍 {game.ratings[1].count}</div>\r\n <div className=\"rating-users\">😐 {game.ratings[2].count}</div>\r\n <div className=\"rating-users\">⛔ {game.ratings[3].count}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n {game.stores.length === 0\r\n ? null\r\n : <div className=\"game-page__stores\">\r\n <h2 className=\"game-page__stores-head\">Where to buy</h2>\r\n <StoresAvailable stores={game.stores} id={game.id}/>\r\n </div>\r\n }\r\n <div className=\"game-page__about\">\r\n <h2 className=\"page__title\">About</h2>\r\n <div className=\"game-page__about-text\">\r\n {expanded \r\n ? <>\r\n <span dangerouslySetInnerHTML={\r\n {__html: sanitizedText}\r\n }></span>\r\n <button className=\"expand\" \r\n onClick={() => setExpanded(!expanded)}>Show Less...</button></>\r\n : (\r\n <>\r\n <span dangerouslySetInnerHTML={\r\n {__html: sanitizedText.slice(0, sanitizedText.indexOf('.')) + '...'}\r\n }></span>\r\n <button className=\"expand\" \r\n onClick={() => setExpanded(!expanded)}>Show More...</button>\r\n </>\r\n )\r\n }\r\n \r\n </div>\r\n </div>\r\n <div className=\"game-page__meta\">\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Platforms</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.platforms.map((platform, index, array) => {\r\n if ((index + 1) !== array.length) {\r\n return <div key={platform.id} className=\"game-page__meta-link\"><Link to={`/platforms/${platform.platform.id}`}>{platform.platform.name},</Link></div> \r\n } else {\r\n return <div key={platform.id} className=\"game-page__meta-link\"><Link to={`/platforms/${platform.platform.id}`}>{platform.platform.name}</Link></div> \r\n }\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Genre</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.genres.map((genre, index, array) => {\r\n if ((index + 1) !== array.length) {\r\n return <div key={genre.id} className=\"game-page__meta-link\"><Link to={`/genres/${genre.slug}`}>{genre.name},</Link></div> \r\n } else {\r\n return <div key={genre.id} className=\"game-page__meta-link\"><Link to={`/genres/${genre.slug}`}>{genre.name}</Link></div> \r\n }\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Release date</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.tba \r\n ? <div className=\"game-page__meta-text\">TBA</div>\r\n : <div className=\"game-page__meta-text\">{game.released}</div>\r\n }\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Developers</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.developers.map((dev, index, array) => {\r\n if ((index + 1) !== array.length) {\r\n return <div key={dev.id} className=\"game-page__meta-link\"><Link to={`/developers/${dev.slug}`}>{dev.name},</Link></div> \r\n } else {\r\n return <div key={dev.id} className=\"game-page__meta-link\"><Link to={`/developers/${dev.slug}`}>{dev.name}</Link></div> \r\n }\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Publisher</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.publishers.map((publ, index, array) => {\r\n if ((index + 1) !== array.length) {\r\n return <div key={publ.id} className=\"game-page__meta-link\"><Link to={`/publishers/${publ.slug}`}>{publ.name},</Link></div> \r\n } else {\r\n return <div key={publ.id} className=\"game-page__meta-link\"><Link to={`/publishers/${publ.slug}`}>{publ.name}</Link></div> \r\n }\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block\">\r\n <div className=\"game-page__meta-title\">Age rating</div>\r\n <div className=\"game-page__meta-info\">\r\n <div className=\"game-page__meta-text\">{\r\n game.esrb_rating === null ? <span className=\"rating-none\">-</span> : game.esrb_rating.name\r\n }</div>\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block meta-big\">\r\n <div className=\"game-page__meta-title\">Website</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.website !== \"\"\r\n ? <div className=\"game-page__meta-link\"><a href={game.website}>{game.website}</a></div> \r\n : <span className=\"rating-none\">-</span>\r\n }\r\n </div>\r\n </div>\r\n <div className=\"game-page__meta-block meta-big\">\r\n <div className=\"game-page__meta-title\">Tags</div>\r\n <div className=\"game-page__meta-info\">\r\n {game.tags.map(tag => {\r\n return <div key={tag.id} className=\"game-page__meta-tag\"><Link to={`/tags/${tag.slug}`}>{tag.name}</Link></div> \r\n })}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"game-page__reqs\">\r\n <h2 className=\"page__title\">System requirements for PC</h2>\r\n <div className=\"game-page__reqs-inner\">\r\n {game.platforms.map(platform => {\r\n if (platform.platform.name === 'PC') {\r\n return <>\r\n <Requirements key={platform.id} platform={platform} type={'Minimal'} req={platform.requirements.minimum}/>\r\n <Requirements key={platform.id} platform={platform} type={'Recommended'} req={platform.requirements.recommended}/>\r\n </>\r\n } else {\r\n return null;\r\n }\r\n })}\r\n </div>\r\n </div>\r\n <div className=\"game-page__media\">\r\n <h2 className=\"page__title\">Media</h2>\r\n <div className=\"game-page__screenshots\">\r\n <h2 className=\"game-page__screenshots-title\">Screenshots</h2>\r\n <GameScreenshots id={game.id}/>\r\n </div>\r\n </div>\r\n <div className=\"game-page__developers\">\r\n <h2 className=\"page__title\">{game.name} created by</h2>\r\n <GameDevs id={game.id}/>\r\n </div>\r\n <div className=\"game-page__achievements\">\r\n <h2 className=\"page__title\">The Rarest Achievements</h2>\r\n <GameAchievements id={game.id}/>\r\n </div>\r\n <div className=\"game-page__reddit\">\r\n <div className=\"game-page__reddit-head\">\r\n <h2 className=\"page__title\">Reddit Posts</h2>\r\n {game.reddit_count !== 0 \r\n ? <>\r\n <div className=\"game-page__reddit-count\">{game.reddit_count} posts</div>\r\n <span className=\"game-page__reddit-separator\">|</span>\r\n <a className=\"game-page__reddit-buttonMore\" href={game.reddit_url}>View All</a>\r\n </>\r\n : null\r\n }\r\n \r\n </div>\r\n {game.reddit_count !== 0\r\n ? <div className=\"game-page__reddit-meta\">\r\n <div className=\"game-page__reddit-meta__head\">\r\n <span className=\"game-page__reddit-name\"><span className=\"game-page__reddit-label\">Subreddit name: </span>{game.reddit_name}</span>\r\n </div>\r\n <div className=\"game-page__reddit-description\"><span className=\"game-page__reddit-label\">Description: </span>{game.reddit_description}</div>\r\n </div>\r\n : null\r\n }\r\n <GameRedditPosts id={game.id}/>\r\n </div>\r\n <div className=\"game-page__additions\">\r\n <div className=\"page-art__additional\" style={{backgroundImage: `radial-gradient(closest-side at center center, transparent, rgb(21, 21, 21)), url(${game.background_image_additional})`}}></div>\r\n <h2 className=\"page__title\">Additions for {game.name}</h2>\r\n <GameAdditions id={game.id}/>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${game.background_image})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default GamePage;","import { useState, useEffect, useRef } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport PublishersService from \"../../API/services/publishers/PublishersService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './singlePublisherPage.scss';\r\n\r\nconst SinglePublisherPage = () => {\r\n const [publisher, setPublisher] = useState({});\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const params = useParams();\r\n const lastElement = useRef();\r\n const sanitizedText = DOMPurify.sanitize(publisher.description); // text about\r\n \r\n const [getPublisher, isPublisherLoading, publisherError] = useFetching(async () => {\r\n const response = await PublishersService.getPublisherBySlug(params.slug);\r\n setPublisher(response.data);\r\n });\r\n const [getGames, isGamesLoading, gamesError] = useFetching(async () => {\r\n const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page, platformParam);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await PublishersService.getGamesByPublisherSlug(params.slug, limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isGamesLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500);\r\n });\r\n\r\n useEffect(() => {\r\n getPublisher();\r\n getGames();\r\n window.scrollTo(0, 0);\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [params.slug]);\r\n\r\n useEffect(() => {\r\n getGames();\r\n }, [page])\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n return (\r\n <div className=\"page publisher-page\">\r\n <div className=\"container\">\r\n {isPublisherLoading \r\n ? <Loader/>\r\n : <div className=\"publisher-page__wrapper\">\r\n <div className=\"publisher-page__main\">\r\n <div className=\"publisher-page__head\">\r\n <h1 className=\"publisher-page__name\">\r\n {publisher.name} publisher\r\n </h1>\r\n </div>\r\n </div>\r\n <div className=\"publisher-page__about\">\r\n {publisher.description === '' \r\n ? <div className=\"publisher-page__about-text\">There is no information about this publisher</div>\r\n : <div className=\"publisher-page__about-text\" dangerouslySetInnerHTML={{__html: sanitizedText}}></div>\r\n }\r\n </div>\r\n <div className=\"publisher-page__games\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList displayMode={displayMode} gamesList={sortedGames}/>\r\n {(publisherError || gamesError) && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${publisher.image_background})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SinglePublisherPage;","import { useState, useEffect, useRef } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport GenresService from \"../../API/services/genres/GenresService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './singleGenrePage.scss';\r\nconst SingleGenrePage = () => {\r\n const [genre, setGenre] = useState({});\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const params = useParams();\r\n const lastElement = useRef();\r\n const sanitizedText = DOMPurify.sanitize(genre.description); // text about\r\n\r\n const [getGenre, isGenreLoading, genreError] = useFetching(async () => {\r\n const response = await GenresService.getGenreBySlug(params.slug);\r\n setGenre(response.data);\r\n });\r\n\r\n const [getGames, isGamesLoading, gamesError] = useFetching(async () => {\r\n const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await GenresService.getGamesByGenreSlug(params.slug, limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isGamesLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getGenre();\r\n getGames();\r\n window.scrollTo(0, 0);\r\n \r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [params.slug]);\r\n\r\n useEffect(() => {\r\n getGames();\r\n }, [page])\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n\r\n return (\r\n <div className=\"page genre-page\">\r\n <div className=\"container\">\r\n {isGenreLoading \r\n ? <Loader/>\r\n : <div className=\"genre-page__wrapper\">\r\n <div className=\"genre-page__main\">\r\n <div className=\"genre-page__head\">\r\n <h1 className=\"genre-page__name\">\r\n {genre.name} Genre\r\n </h1>\r\n </div>\r\n </div>\r\n <div className=\"genre-page__about\">\r\n {genre.description === '' \r\n ? <div className=\"genre-page__about-text\">There is no information about this developer</div>\r\n : <div className=\"genre-page__about-text\" dangerouslySetInnerHTML={{__html: sanitizedText}}></div>\r\n }\r\n </div>\r\n <div className=\"genre-page__games\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList displayMode={displayMode} gamesList={sortedGames}/>\r\n {(genreError || gamesError) && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null} \r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${genre.image_background})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SingleGenrePage;","import { useState, useEffect, useRef } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport PlatformsService from \"../../API/services/platforms/PlatformsService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './singlePlatformPage.scss';\r\n\r\nconst SinglePlatformPage = () => {\r\n const [platform, setPlatform] = useState({});\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const params = useParams();\r\n const lastElement = useRef();\r\n const sanitizedText = DOMPurify.sanitize(platform.description); // text about\r\n\r\n const [getPlatform, isPlatformLoading, platformError] = useFetching(async () => {\r\n const response = await PlatformsService.getPlatformById(params.id);\r\n setPlatform(response.data);\r\n });\r\n\r\n const [getGames, isGamesLoading, gamesError] = useFetching(async () => {\r\n const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesByPlatform, isGamesPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await PlatformsService.getGamesByPlatformId(params.id, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isGamesLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getPlatform();\r\n getGames();\r\n window.scrollTo(0, 0);\r\n\r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [params.id]);\r\n\r\n useEffect(() => {\r\n getGames();\r\n }, [page])\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n return (\r\n <div className=\"page platform-page\">\r\n <div className=\"container\">\r\n {isPlatformLoading \r\n ? <Loader/>\r\n : <div className=\"platform-page__wrapper\">\r\n <div className=\"platform-page__main\">\r\n <div className=\"platform-page__head\">\r\n <h1 className=\"platform-page__name\">\r\n Games for {platform.name} \r\n </h1>\r\n </div>\r\n </div>\r\n <div className=\"platform-page__about\">\r\n {platform.description === '' \r\n ? <div className=\"platform-page__about-text\">There is no information about this platform</div>\r\n : <div className=\"platform-page__about-text\" dangerouslySetInnerHTML={{__html: sanitizedText}}></div>\r\n }\r\n </div>\r\n <div className=\"platform-page__games\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList displayMode={displayMode} gamesList={sortedGames}/>\r\n {(platformError || gamesError) && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${platform.image_background})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SinglePlatformPage;","import { useState, useEffect, useRef } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport useSortGames from '../../hooks/useSortGames';\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from '../../hooks/useObserver';\r\n\r\nimport TagsService from \"../../API/services/tags/TagsService\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport MySelect from '../../components/UI/MySelect/MySelect';\r\nimport Loader from \"../../components/UI/Loader/Loader\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './singleTagPage.scss';\r\n\r\nconst SingleTagPage = () => {\r\n const [tag, setTag] = useState({});\r\n const [gamesList, setGamesList] = useState([]);\r\n const [displayMode, setDisplayMode] = useState(localStorage.getItem('displayMode') || 'column');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(20);\r\n const [page, setPage] = useState(1);\r\n const [platformParam, setPlatformParam] = useState(null);\r\n const [filter, setFilter] = useState({sort: '', query: ''});\r\n const sortedGames = useSortGames(filter.sort, gamesList);\r\n const params = useParams();\r\n const lastElement = useRef();\r\n const sanitizedText = DOMPurify.sanitize(tag.description); // text about\r\n\r\n const [getTag, isTagLoading, tagError] = useFetching(async () => {\r\n const response = await TagsService.getTagBySlug(params.slug);\r\n setTag(response.data);\r\n });\r\n\r\n const [getGames, isGamesLoading, gamesError] = useFetching(async () => {\r\n const response = await TagsService.getGamesByTagSlug(params.slug, limit, page);\r\n setGamesList([...gamesList, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesListWithLimit, isLoadingLimit, errorLimit] = useFetching(async () => {\r\n const response = await TagsService.getGamesByTagSlug(params.slug, limit, page);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n const [getGamesByPlatform, isPlatformLoading, platformLimit] = useFetching(async () => {\r\n const response = await TagsService.getGamesByTagSlug(params.slug, limit, page, platformParam);\r\n setGamesList(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n\r\n useObserver(lastElement, page < totalPages, isGamesLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getTag();\r\n getGames();\r\n window.scrollTo(0, 0);\r\n \r\n const mode = localStorage.getItem('displayMode');\r\n if (mode) {\r\n setDisplayMode(mode);\r\n }\r\n }, [params.slug]);\r\n\r\n useEffect(() => {\r\n getGames();\r\n }, [page])\r\n\r\n useEffect(() => {\r\n getGamesListWithLimit();\r\n }, [limit]);\r\n\r\n useEffect(() => {\r\n getGamesByPlatform();\r\n }, [platformParam]);\r\n\r\n return (\r\n <div className=\"page tag-page\">\r\n <div className=\"container\">\r\n {isTagLoading \r\n ? <Loader/>\r\n : <div className=\"tag-page__wrapper\">\r\n <div className=\"tag-page__main\">\r\n <div className=\"tag-page__head\">\r\n <h1 className=\"tag-page__name\">\r\n Games by {tag.name} Tag\r\n </h1>\r\n </div>\r\n </div>\r\n <div className=\"tag-page__about\">\r\n {tag.description === '' \r\n ? <div className=\"tag-page__about-text\">There is no information about this tag</div>\r\n : <div className=\"ptagpage__about-text\" dangerouslySetInnerHTML={{__html: sanitizedText}}></div>\r\n }\r\n </div>\r\n <div className=\"tag-page__games\">\r\n <div className=\"page__control\">\r\n <div className=\"page__control-filters\">\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setFilter({...filter, sort: selectedSort})}\r\n defaultValue=\"Sort by\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 'name', name: 'By name'},\r\n {value: 'released', name: 'By released date'},\r\n {value: 'rating', name: 'By user rating'},\r\n {value: 'metacritic', name: 'By metacritic'},\r\n {value: 'added', name: 'By added'},\r\n ]}\r\n />\r\n <MySelect\r\n value={filter.query}\r\n onChange={selectedSort => setPlatformParam(selectedSort)}\r\n defaultValue=\"Platform\"\r\n options={[\r\n {value: null, name: 'Default'},\r\n {value: 4, name: 'Windows'},\r\n {value: 5, name: 'macOS'},\r\n {value: 6, name: 'Linux'},\r\n {value: 187, name: 'PlayStation 5'},\r\n {value: 18, name: 'PlayStation 4'},\r\n {value: 16, name: 'PlayStation 3'},\r\n {value: 1, name: 'Xbox One'},\r\n {value: 14, name: 'Xbox 360'},\r\n {value: 7, name: 'Nintendo Switch'},\r\n {value: 3, name: 'iOS'},\r\n {value: 21, name: 'Android'},\r\n {value: 171, name: 'Web'},\r\n ]}\r\n />\r\n <MySelect\r\n value={limit}\r\n onChange={value => setLimit(value)}\r\n defaultValue=\"Page size\"\r\n options={[\r\n {value: 'default', name: 'Default'},\r\n {value: 15, name: '15 games'},\r\n {value: 10, name: '10 games'},\r\n {value: 5, name: '5 games'},\r\n ]}\r\n />\r\n </div>\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <GamesList displayMode={displayMode} gamesList={sortedGames}/>\r\n {(tagError || gamesError) && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isGamesLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n <div className=\"page-art\">\r\n <div className=\"page-art__wrapper\">\r\n <div \r\n className=\"art\" \r\n style={{backgroundImage: `linear-gradient(rgba(15, 15, 15, 0), rgb(21, 21, 21)), linear-gradient(rgba(21, 21, 21, 0.8), rgba(21, 21, 21, 0.5)), url(${tag.image_background})`}}></div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SingleTagPage;","\r\nimport MainPage from '../pages/MainPage/MainPage';\r\n\r\nimport PopularGamesPage from '../pages/PopularGamesPage/PopularGamesPage';\r\nimport RatingGamesPage from '../pages/RatingGamesPage/RatingGamesPage';\r\nimport MetacriticGamesPage from '../pages/MetacriticGamesPage/MetacriticGamesPage';\r\n\r\nimport DevelopersPage from \"../pages/DevelopersPage/DevelopersPage\";\r\nimport PublishersPage from \"../pages/PublishersPage/PublishersPage\";\r\nimport GenresPage from '../pages/GenresPage/GenresPage';\r\nimport PlatformsPage from '../pages/PlatformsPage/PlatformsPage';\r\nimport TagsPage from '../pages/TagsPage/TagsPage';\r\n\r\nimport SingleDelevoperPage from '../pages/SingleDelevoperPage/SingleDelevoperPage';\r\nimport SingleGamePage from '../pages/SingleGamePage/SingleGamePage';\r\nimport SinglePublisherPage from '../pages/SinglePublisherPage/SinglePublisherPage';\r\nimport SingleGenrePage from '../pages/SingleGenrePage/SingleGenrePage';\r\nimport SinglePlatformPage from '../pages/SinglePlatformPage/SinglePlatformPage';\r\nimport SingleTagPage from '../pages/SingleTagPage/SingleTagPage';\r\n\r\nexport const routes = [\r\n {path: '/', element: <MainPage/>},\r\n {path: '/games', element: <PopularGamesPage/>},\r\n {path: '/games-by-rating', element: <RatingGamesPage/>},\r\n {path: '/games-by-metacritic', element: <MetacriticGamesPage/>},\r\n {path: '/games/:slug', element: <SingleGamePage/>},\r\n {path: '/developers', element: <DevelopersPage/>},\r\n {path: '/developers/:slug', element: <SingleDelevoperPage/>},\r\n {path: '/publishers', element: <PublishersPage/>},\r\n {path: '/publishers/:slug', element: <SinglePublisherPage/>},\r\n {path: '/genres', element: <GenresPage/>},\r\n {path: '/genres/:slug', element: <SingleGenrePage/>},\r\n {path: '/platforms', element: <PlatformsPage/>},\r\n {path: '/platforms/:id', element: <SinglePlatformPage/>},\r\n {path: '/tags', element: <TagsPage/>},\r\n {path: '/tags/:slug', element: <SingleTagPage/>},\r\n]","import { useContext, useState, useEffect, useRef } from \"react\";\r\nimport { SearchContext } from \"../../context/SearchContext\";\r\nimport { useFetching } from \"../../hooks/useFetching\";\r\nimport { useObserver } from \"../../hooks/useObserver\";\r\n\r\nimport GamesService from \"../../API/services/games/GamesService\";\r\nimport GamesList from \"../../components/GamesList/GamesList\";\r\nimport LoaderContent from \"../../components/UI/LoaderContent/LoaderContent\";\r\nimport Error from \"../../components/UI/Error/Error\";\r\n\r\nimport { getTotalPageCount } from '../../utils/getTotalPageCount';\r\n\r\nimport './searchResultPage.scss';\r\n\r\nconst SearchResultPage = () => {\r\n const {searchFormData} = useContext(SearchContext);\r\n const [results, setResults] = useState([]);\r\n const [displayMode, setDisplayMode] = useState('list');\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [limit, setLimit] = useState(10);\r\n const [page, setPage] = useState(1);\r\n const [getSearch, isLoading, error] = useFetching(async () => {\r\n const response = await GamesService.getGamesListBySearch(searchFormData.query, limit, page);\r\n setResults(response.data.results);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const [getSearchByPage, isPageLoading, pageError] = useFetching(async () => {\r\n const response = await GamesService.getGamesListBySearch(searchFormData.query, limit, page);\r\n setResults([...results, ...response.data.results]);\r\n\r\n const totalCount = response.data.count;\r\n setTotalPages(getTotalPageCount(totalCount, limit))\r\n });\r\n const lastElement = useRef();\r\n\r\n useObserver(lastElement, page < totalPages, isLoading, () => {\r\n setTimeout(() => {\r\n setPage(page + 1);\r\n }, 500)\r\n });\r\n\r\n useEffect(() => {\r\n getSearch();\r\n setPage(1);\r\n }, [searchFormData.query]);\r\n\r\n useEffect(() => {\r\n getSearchByPage();\r\n }, [page]);\r\n\r\n console.log(results);\r\n return (\r\n <div className=\"page search-page\">\r\n <div className=\"container\">\r\n <div className=\"section-header\">\r\n {searchFormData.query === \"\" \r\n ? <h2 className=\"section-title\">Search</h2>\r\n : <h2 className=\"section-title\">Search by \"{searchFormData.query}\"</h2>\r\n }\r\n <div className=\"page__control-display\">\r\n <div className=\"page__control-display__title\">Display options:</div>\r\n <div className=\"page__control-display__items\">\r\n <button onClick={() => setDisplayMode('column')} \r\n className={displayMode === 'column' \r\n ? 'page__control-display__option display-column display-active' \r\n : 'page__control-display__option display-column'}></button>\r\n <button onClick={() => setDisplayMode('list')} \r\n className={displayMode === 'list' \r\n ? 'page__control-display__option display-list display-active' \r\n : 'page__control-display__option display-list'}></button>\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"search-page__wrapper\">\r\n <GamesList gamesList={results} \r\n page={page}\r\n totalPages={totalPages}\r\n limit={limit}\r\n displayMode={displayMode}\r\n />\r\n {error && <Error/>}\r\n <div ref={lastElement} className=\"observer\"></div>\r\n {(page < totalPages || isLoading) ? <LoaderContent/> : null}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SearchResultPage;","import { Routes, Route, Navigate } from \"react-router-dom\";\r\nimport { routes } from \"../router\";\r\nimport { useContext } from 'react';\r\nimport { SearchContext } from '../context/SearchContext';\r\nimport SearchResultPage from \"./SearchResultPage/SearchResultPage\";\r\n\r\nconst AppRouter = () => {\r\n const { searchFormData } = useContext(SearchContext);\r\n\r\n return (\r\n <div>\r\n <Routes basename={process.env.PUBLIC_URL}>\r\n {routes.map(route => {\r\n return <Route path={route.path} \r\n element={route.element}\r\n key={route.path} />\r\n })}\r\n <Route path=\"/search\" element={<SearchResultPage searchQuery={searchFormData.query}/>} />\r\n <Route path=\"*\" element={<Navigate to=\"/\"/>} />\r\n </Routes>\r\n </div>\r\n );\r\n};\r\n\r\nexport default AppRouter;","\nimport { useState } from \"react\";\nimport { BrowserRouter} from \"react-router-dom\";\n\nimport Header from './components/Header/Header';\nimport Footer from \"./components/Footer/Footer\";\nimport AppRouter from \"./pages/AppRouter\";\n\nimport { SearchContext } from \"./context/SearchContext\";\n\nimport './App.scss';\n\nfunction App() {\n const [searchFormData, setSearchFormData] = useState({ query: '' });\n\n return (\n <BrowserRouter>\n <SearchContext.Provider value={{ searchFormData, setSearchFormData }}>\n <div className=\"App\">\n <Header/>\n <AppRouter/>\n <Footer/>\n </div>\n </SearchContext.Provider>\n </BrowserRouter>\n );\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport App from './App';\n\n\nconst root = ReactDOM.createRoot(document.getElementById('root'));\nroot.render(<App />);\n\n"],"names":["entries","Object","setPrototypeOf","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","freeze","seal","create","_ref","Reflect","apply","construct","fun","thisValue","args","x","Func","_construct","_toConsumableArray","arrayForEach","unapply","Array","prototype","forEach","arrayPop","pop","arrayPush","push","stringToLowerCase","String","toLowerCase","stringToString","toString","stringMatch","match","stringReplace","replace","stringIndexOf","indexOf","stringTrim","trim","regExpTest","RegExp","test","typeErrorCreate","unconstruct","TypeError","func","thisArg","_len","arguments","length","_key","_len2","_key2","addToSet","set","array","transformCaseFunc","l","element","lcElement","clone","object","_step","newObject","_iterator","_createForOfIteratorHelper","s","n","done","_step$value","_slicedToArray","value","property","err","e","f","lookupGetter","prop","desc","get","fallbackValue","console","warn","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","text","html","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","document","_typeof","createPolicy","suffix","ATTR_NAME","currentScript","hasAttribute","getAttribute","policyName","createHTML","createScriptURL","scriptUrl","_","createDOMPurify","undefined","DOMPurify","root","version","removed","nodeType","isSupported","originalDocument","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","_window$NamedNodeMap","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","_document","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","hooks","createHTMLDocument","PARSER_MEDIA_TYPE","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","concat","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","Function","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parent","tagName","namespaceURI","parentTagName","Boolean","_forceRemove","node","parentNode","removeChild","remove","_removeAttribute","name","attribute","getAttributeNode","from","removeAttribute","setAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","call","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","_isClobbered","elm","nodeName","textContent","attributes","hasChildNodes","_isNode","_executeHook","entryPoint","currentNode","data","hook","_sanitizeElements","allowedTags","firstElementChild","_basicCustomElementTest","i","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","attr","hookEvent","attrName","attrValue","keepAttr","allowedAttributes","_attr","forceKeepAttr","getAttributeType","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","sanitize","importedNode","returnNode","appendChild","firstChild","nodeIterator","shadowroot","shadowrootmod","serializedHTML","outerHTML","doctype","setConfig","clearConfig","isValidAttribute","tag","addHook","hookFunction","removeHook","removeHooks","removeAllHooks","reactIs","require","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","objectPrototype","module","exports","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","key","descriptor","b","Symbol","for","c","d","g","h","k","m","p","q","r","t","v","w","y","z","a","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","aa","ca","encodeURIComponent","da","Set","ea","fa","ha","add","ia","ja","hasOwnProperty","ka","la","ma","this","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","split","ra","sa","toUpperCase","ta","slice","pa","isNaN","qa","oa","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","assign","Ma","Error","stack","Na","Oa","prepareStackTrace","includes","Pa","Qa","_context","_payload","_init","Ra","Sa","Ta","Va","_valueTracker","constructor","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","eb","isArray","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","kb","lb","mb","nb","valueOf","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","setProperty","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","Math","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","Date","now","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","time","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","start","end","selectionStart","selectionEnd","min","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","setTimeout","Gf","clearTimeout","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","_currentValue","Sg","childLanes","Tg","dependencies","firstContext","lanes","Ug","Vg","context","memoizedValue","next","Wg","Xg","Yg","interleaved","Zg","$g","ah","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","bh","ch","eventTime","lane","payload","callback","dh","K","eh","fh","gh","hh","ih","jh","Component","refs","kh","nh","isMounted","_reactInternals","enqueueSetState","L","lh","mh","enqueueReplaceState","enqueueForceUpdate","oh","shouldComponentUpdate","isPureReactComponent","ph","state","updater","qh","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","rh","props","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","sh","ref","_owner","_stringRef","th","join","uh","vh","index","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","M","Mh","revealOrder","Nh","Oh","_workInProgressVersionPrimary","Ph","ReactCurrentDispatcher","Qh","Rh","N","O","P","Sh","Th","Uh","Vh","Q","Wh","Xh","Yh","Zh","$h","ai","bi","ci","baseQueue","queue","di","ei","fi","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","gi","hi","ii","ji","ki","getSnapshot","li","mi","R","ni","lastEffect","stores","oi","pi","qi","ri","destroy","deps","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ki","message","digest","Li","Mi","error","Ni","WeakMap","Oi","Pi","Qi","Ri","componentDidCatch","Si","componentStack","Ti","pingCache","Ui","Vi","Wi","Xi","ReactCurrentOwner","Yi","Zi","$i","aj","bj","cj","dj","ej","baseLanes","cachePool","transitions","fj","gj","hj","ij","jj","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","kj","lj","pendingContext","mj","Aj","Bj","Cj","Dj","nj","oj","pj","fallback","qj","rj","tj","dataset","dgst","uj","vj","_reactRetry","sj","subtreeFlags","wj","xj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","yj","Ej","S","Fj","Gj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","T","Hj","Ij","Jj","Kj","U","Lj","WeakSet","V","Mj","W","Nj","Oj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","_reactRootContainer","Xj","X","Yj","Zj","ak","onCommitFiberUnmount","componentWillUnmount","bk","ck","dk","ek","fk","isHidden","gk","hk","display","ik","jk","kk","lk","__reactInternalSnapshotBeforeUpdate","src","Wk","mk","ceil","nk","ok","pk","Y","Z","qk","rk","sk","tk","uk","Infinity","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","finishedWork","finishedLanes","Qk","timeoutHandle","Rk","Sk","Tk","Uk","Vk","mutableReadLanes","Bc","Pj","onCommitFiberRoot","mc","onRecoverableError","Xk","onPostCommitFiberRoot","Yk","Zk","al","isReactComponent","pendingChildren","bl","mutableSourceEagerHydrationData","cl","cache","pendingSuspenseBoundaries","el","fl","gl","hl","il","jl","zj","$k","ll","reportError","ml","_internalRoot","nl","ol","pl","ql","sl","rl","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","tl","usingClientEntryPoint","Events","ul","findFiberByHostInstance","bundleType","rendererPackageName","vl","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","wl","isDisabled","supportsFiber","inject","createPortal","dl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","resetWarningCache","o","isRequired","bool","string","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","ArrayBuffer","isView","delta","preventDefaultTouchmoveEvent","rotationAngle","trackMouse","trackTouch","first","initial","swiping","xy","PI","cos","sin","abs","sqrt","absX","absY","dir","velocity","vxvy","onSwiping","onSwiped","eventData","onTap","cleanUpTouch","onMouseDown","DOWN","LEFT","RIGHT","UP","useSwipeable","__esModule","default","globalThis","toStringTag","global","self","parseInt","NaN","max","leading","maxWait","trailing","cancel","flush","some","__entries__","clear","requestAnimationFrame","MutationObserver","j","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","addObserver","connect_","removeObserver","disconnect_","updateObservers_","filter","gatherActive","hasActive","broadcastActive","observe","childList","characterData","subtree","disconnect","getInstance","instance_","parseFloat","reduce","SVGGraphicsElement","SVGElement","getBBox","clientWidth","clientHeight","getComputedStyle","right","bottom","boxSizing","round","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","DOMRectReadOnly","contentRect","$","activeObservations_","observations_","callback_","controller_","callbackCtx_","unobserve","clearActive","map","ResizeObserver","memo","description","fullscreen","handleImageLoaded","isFullscreen","onImageError","original","originalAlt","originalHeight","originalWidth","originalTitle","sizes","srcSet","loading","className","alt","title","onLoad","points","maximize","minimize","play","pause","viewBox","icon","xmlns","fill","stroke","strokeLinecap","strokeLinejoin","isPlaying","getOwnPropertyDescriptors","defineProperties","__proto__","ReferenceError","_e","media","sham","Proxy","currentIndex","startIndex","thumbsTranslate","thumbsSwipedTranslate","currentSlideOffset","galleryWidth","thumbnailsWrapperWidth","thumbnailsWrapperHeight","thumbsStyle","slideDuration","isSwipingThumbnail","loadedImages","imageGallery","createRef","thumbnailsWrapper","thumbnails","imageGallerySlideWrapper","handleKeyDown","handleMouseDown","handleResize","handleTouchMove","handleOnSwiped","handleScreenChange","handleSwiping","handleThumbnailSwiping","handleOnThumbnailSwiped","onThumbnailMouseLeave","handleImageError","pauseOrPlay","renderThumbInner","renderItem","slideLeft","slideRight","toggleFullScreen","togglePlay","unthrottledSlideToIndex","slideToIndex","lazyLoad","lazyLoaded","autoPlay","useWindowKeyDown","initSlideWrapperResizeObserver","initThumbnailWrapperResizeObserver","addScreenChangeEvent","items","slideInterval","thumbnailPosition","showThumbnails","removeResizeObserver","removeThumbnailsResizeObserver","slideThumbnailBar","setState","slideStyle","removeScreenChangeEvent","playPauseIntervalId","clearInterval","transitionTimer","isTransitioning","onSlide","onThumbnailClick","blur","thumbnailMouseOverTimer","onScreenChange","modalFullscreen","disableThumbnailScroll","isThumbnailVertical","scrollHeight","scrollWidth","infinite","previousIndex","direction","gallerySlideWrapperHeight","useTranslate3D","isRTL","getTranslateXForTwoSlide","isSlideVisible","WebkitTransform","MozTransform","msTransform","OTransform","transform","slideOnThumbnailOver","onTouchMove","onTouchEnd","onTouchStart","onMouseOver","onMouseLeave","showBullets","getAlignmentClassName","originalClass","thumbnailClass","getSlideStyle","tabIndex","onKeyUp","handleSlideKeyUp","onFocus","role","thumbnail","active","handleThumbnailMouseOver","handleThumbnailKeyUp","bulletClass","bulletOnClick","item","itemIndex","slides","bullets","slideIsTransitioning","ignoreIsTransitioning","isFirstOrLastSlide","getThumbsTranslate","canSlideNext","canSlidePrevious","disableSwipe","swipingUpDown","swipingLeftRight","swipingTransitionDuration","swipingThumbnailTransitionDuration","resetSwipingDirection","swipeThreshold","flickThreshold","handleOnSwipedTo","sufficientSwipe","canSlideLeft","canSlideRight","classList","disableKeyDown","useBrowserFullscreen","exitFullScreen","onErrorImageURL","resizeThumbnailWrapperObserver","resizeSlideWrapperObserver","offsetWidth","offsetHeight","setThumbsTranslate","fullScreen","fullscreenElement","msFullscreenElement","mozFullScreenElement","webkitFullscreenElement","onBeforeSlide","onSliding","slideTo","onThumbnailMouseOver","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","setModalFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","onPlay","setInterval","onPause","onImageLoad","onThumbnailError","thumbnailHeight","thumbnailWidth","thumbnailAlt","thumbnailTitle","thumbnailLoading","thumbnailLabel","additionalClass","disableThumbnailSwipe","indexSeparator","renderFullscreenButton","renderCustomControls","renderLeftNav","renderRightNav","showFullscreenButton","showIndex","showNav","showPlayButton","renderPlayPauseButton","getThumbnailStyle","getSlideItems","canSlide","getThumbnailBarHeight","imageSet","LazyLoadComponent","LazyLoadImage","trackWindowScroll","IntersectionObserverEntry","isIntersecting","onVisible","supportsObserver","scrollPosition","useIntersectionObserver","threshold","observer","IntersectionObserver","rootMargin","placeholder","updateVisibility","getBoundingClientRect","getPropertyValue","getPlaceholderBoundingBox","innerHeight","innerWidth","isPlaceholderInViewport","cloneElement","HTMLElement","scrollX","pageXOffset","scrollY","pageYOffset","onChangeScroll","delayMethod","delayedScroll","delayTime","baseComponentRef","addListeners","removeListeners","scrollElement","propertyIsEnumerable","forwardRef","afterLoad","beforeLoad","visibleByDefault","visible","isScrollTracked","Number","isFinite","loaded","effect","placeholderSrc","wrapperClassName","wrapperProps","getImg","backgroundImage","backgroundSize","getLazyLoadImage","getWrappedLazyLoadImage","__self","__source","jsx","jsxs","forceUpdate","escape","_status","_result","Children","count","toArray","only","PureComponent","createContext","_currentValue2","_threadCount","Provider","Consumer","_defaultValue","_globalName","createFactory","isValidElement","lazy","startTransition","unstable_act","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","objA","objB","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","leafPrototypes","getProto","obj","ns","def","definition","nc","Action","_arrayWithHoles","arr","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","_nonIterableRest","_i","_s","_x","_r","_arr","_n","_d","_iterableToArray","iter","Constructor","_toPropertyKey","arg","hint","prim","toPrimitive","res","_defineProperties","protoProps","staticProps","_setPrototypeOf","_inherits","subClass","superClass","_getPrototypeOf","_isNativeReflectConstruct","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","result","Super","NewTarget","Parent","Class","_wrapNativeSuper","_cache","fn","Wrapper","ResultType","PopStateEventType","invariant","getHistoryState","usr","createLocation","to","_extends","pathname","hash","parsePath","substr","createPath","_ref$pathname","_ref$search","_ref$hash","path","parsedPath","hashIndex","searchIndex","getUrlBasedHistory","getLocation","createHref","validateLocation","_options2","_options2$window","_options2$v5Compat","v5Compat","globalHistory","history","Pop","getIndex","handlePop","nextIndex","createURL","origin","URL","replaceState","listen","encodeLocation","Push","historyState","pushState","Replace","go","matchRoutes","routes","locationArg","basename","stripBasename","branches","flattenRoutes","sort","score","siblings","every","compareIndexes","routesMeta","childrenIndex","rankRouteBranches","matchRouteBranch","safelyDecodeURI","parentsMeta","parentPath","flattenRoute","route","relativePath","caseSensitive","startsWith","joinPaths","computeScore","_route$path","allowArrayLike","it","normalCompletion","didErr","step","_e2","explodeOptionalSegments","exploded","segments","_segments","rest","isOptional","endsWith","required","restExploded","subpath","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","initialScore","segment","branch","matchedParams","matchedPathname","remainingPathname","matchPath","params","pathnameBase","normalizePathname","pattern","_compilePath","warning","paramNames","regexpSource","paramName","matcher","compilePath","_compilePath2","captureGroups","splatValue","decodeURIComponent","safelyDecodeURIComponent","decodeURI","nextChar","cond","getInvalidPathError","field","dest","getPathContributingMatches","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","toPathname","routePathnameIndex","toSegments","fromPathname","_ref3","_ref3$search","_ref3$hash","resolvePathname","normalizeSearch","normalizeHash","resolvePath","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","AbortedDeferredError","_Error","_super","_classCallCheck","_createClass","isRouteErrorResponse","status","statusText","internal","validMutationMethodsArr","validRequestMethodsArr","React","checkIfSnapshotChanged","inst","latestGetSnapshot","prevValue","nextValue","DataRouterContext","DataRouterStateContext","AwaitContext","NavigationContext","LocationContext","RouteContext","outlet","RouteErrorContext","useInRouterContext","useLocation","UNSAFE_invariant","useNavigate","_React$useContext2","routePathnamesJson","UNSAFE_getPathContributingMatches","activeRef","navigate","parse","relative","useParams","routeMatch","useResolvedPath","_temp2","DefaultErrorElement","_state$errors","useDataRouterState","DataRouterStateHook","UseRouteError","routeId","useCurrentRouteId","errors","useRouteError","lightgrey","preStyles","padding","backgroundColor","fontStyle","DataRouterHook","RenderErrorBoundary","_React$Component","_this","errorInfo","routeContext","RenderedRoute","dataRouterContext","static","staticContext","errorElement","_deepestRenderedBoundaryId","_renderMatches","parentMatches","dataRouterState","renderedMatches","errorIndex","findIndex","reduceRight","getChildren","hookName","useRouteContext","thisRoute","AwaitRenderStatus","Navigate","navigation","Route","_props","Router","_ref4","_ref4$basename","basenameProp","_ref4$children","locationProp","_ref4$navigationType","navigationType","_ref4$static","staticProp","navigationContext","_locationProp","_locationProp$pathnam","_locationProp$search","_locationProp$hash","_locationProp$state","_locationProp$key","trailingPathname","Routes","_ref5","dataRouterStateContext","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","useRoutes","router","createRoutesFromChildren","neverSettledPromise","treePath","loader","hasErrorBoundary","shouldRevalidate","handle","BrowserRouter","historyRef","_window$location","createBrowserHistory","_React$useState2","isBrowser","ABSOLUTE_URL_REGEX","Link","absoluteHref","reloadDocument","preventScrollReset","_objectWithoutPropertiesLoose","_excluded","UNSAFE_NavigationContext","isExternal","currentUrl","targetUrl","protocol","_temp","_React$useContext","_useResolvedPath","joinedPathname","useHref","internalOnClick","_ref9","replaceProp","isModifiedEvent","shouldProcessLinkClick","useLinkClickHandler","NavLink","_ref5$ariaCurrent","ariaCurrentProp","_ref5$caseSensitive","_ref5$className","classNameProp","_ref5$end","styleProp","_excluded2","routerState","UNSAFE_DataRouterStateContext","nextLocationPathname","isPending","ariaCurrent","ownKeys","enumerableOnly","symbols","sym","SearchContext","searchFormData","query","_useContext","setSearchFormData","_useState2","showClose","setShowClose","inputRef","_useState4","setWidth","handleKeyPress","_jsx","onSubmit","_jsxs","onChange","prevState","_objectSpread","isOpen","toggleMenu","_ref2","_ref6","_ref7","_ref8","_ref10","isDropdownOpen","setIsDropdownOpen","isBurgerOpen","setIsBurgerOpen","_useState6","SearchBar","BurgerMenu","onMouseEnter","heroPhoto","mainPhoto","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","reject","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","val","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","gamesList","sortedGames","localeCompare","useFetching","isLoading","setIsLoading","setError","fetching","_asyncToGenerator","_regeneratorRuntime","_callee","_args","t0","useObserver","canLoad","kindOf","thing","str","kindOfTest","typeOfTest","isUndefined","isArrayBuffer","isString","isFunction","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","_ref$allOwnKeys","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isTypedArray","Uint8Array","isHTMLForm","isRegExp","reduceDescriptors","reducer","descriptors","reducedDescriptors","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","isBuffer","isFormData","FormData","isArrayBufferView","buffer","isBoolean","isStream","pipe","merge","caseless","assignValue","targetKey","stripBOM","charCodeAt","inherits","superConstructor","toFlatObject","sourceObj","destObj","propFilter","merged","searchString","position","lastIndex","forEachEntry","pair","matchAll","regExp","exec","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","delimiter","toCamelCase","p1","p2","noop","toFiniteNumber","generateString","alphabet","isSpecCompliantForm","append","toJSONObject","visit","reducedValue","AxiosError","config","request","response","captureStackTrace","utils","toJSON","fileName","lineNumber","columnNumber","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","token","predicates","formData","PlatformFormData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","isFlatArray","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","_pairs","toFormData","encoder","_encode","buildURL","serializedParams","serializeFn","serialize","hashmarkIndex","InterceptorManager","handlers","fulfilled","rejected","synchronous","runWhen","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","classes","URLSearchParams","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","DEFAULT_CONTENT_TYPE","defaults","transitional","transitionalDefaults","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","formDataToJSON","setContentType","platform","helpers","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders","_Symbol$iterator","_Symbol$toStringTag","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","parseHeaders","tokens","tokensRE","parseTokens","deleted","deleteHeader","format","normalized","formatHeader","_this$constructor","targets","asStrings","computed","accessors","defineAccessor","accessorName","arg1","arg2","arg3","buildAccessors","accessor","transformData","fns","normalize","isCancel","__CANCEL__","CanceledError","write","expires","domain","secure","cookie","toGMTString","read","buildFullPath","baseURL","requestedURL","relativeURL","combineURLs","originURL","msie","userAgent","urlParsingNode","resolveURL","host","hostname","port","requestURL","samplesCount","firstSampleTS","bytes","timestamps","head","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","XMLHttpRequest","onCanceled","requestData","requestHeaders","cancelToken","unsubscribe","signal","auth","username","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","settle","responseText","open","paramsSerializer","onreadystatechange","readyState","responseURL","onabort","onerror","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","isURLSameOrigin","cookies","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","subscribe","aborted","parseProtocol","send","knownAdapters","http","httpAdapter","xhr","xhrAdapter","getAdapter","adapters","nameOrAdapter","throwIfCancellationRequested","throwIfRequested","dispatchRequest","reason","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","validator","formatMessage","opt","opts","assertOptions","schema","allowUnknown","Axios","instanceConfig","interceptors","configOrUrl","contextHeaders","_config","boolean","function","requestInterceptorChain","synchronousRequestInterceptors","interceptor","promise","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","Cancel","all","promises","spread","isAxiosError","formToJSON","_APIKEY","GamesService","_getGamesList","limit","page","platforms","page_size","_getGamesListBySearch","_callee2","_context2","_x2","_x3","_getGamesListByParam","_callee3","_args3","_context3","ordering","_x4","_getGameBySlug","_callee4","slug","_context4","_x5","_getGameAchiviementsById","_callee5","_context5","_x6","_getGameScreenshotsById","_callee6","_context6","_x7","_getStoreGameById","_callee7","_context7","_x8","_getRedditPostsById","_callee8","_context8","_x9","_getGameAdditionsById","_callee9","_context9","_x10","usedIcons","platformIcons","playstation","xbox","android","nintendo","apple","iconPath","formatRating","ratingString","formattedRating","toFixed","rating","metacritic","ratingStatus","metacriticStatus","_Fragment","game","background_image","Platforms","released","Ratings","plus","added","GamesList","displayMode","GameItem","excluded","sourceKeys","sourceSymbolKeys","StyleSheet","_insertTag","before","tags","insertionPoint","prepend","container","isSpeedy","speedy","ctr","nonce","_proto","nodes","insert","rule","createStyleElement","sheet","styleSheets","ownerNode","sheetForTag","insertRule","cssRules","process","replacement","indexof","charat","begin","strlen","sizeof","column","character","characters","copy","peek","caret","alloc","dealloc","delimit","whitespace","escaping","commenter","identifier","MS","MOZ","WEBKIT","COMMENT","RULESET","DECLARATION","IMPORT","KEYFRAMES","output","compile","rules","rulesets","pseudo","declarations","atrule","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","identifierWithPointTracking","getRules","toRules","fixedElements","compat","isImplicitRule","parentRules","removeLabel","prefix","defaultStylisPlugins","combine","ssrStyles","stylisPlugins","_insert","inserted","nodesToHydrate","attrib","currentSheet","finalizingPlugins","serializer","collection","middleware","selector","serialized","shouldCache","styles","registered","registerStyles","isStringTag","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","WebkitLineClamp","hyphenateRegex","animationRegex","isCustomProperty","isProcessableValue","processStyleName","memoize","styleName","processStyleValue","cursor","unitless","handleInterpolation","mergedProps","interpolation","__emotion_styles","anim","interpolated","createStringFromObject","previousCursor","cached","labelPattern","serializeStyles","stringMode","strings","raw","identifierName","hashString","useInsertionEffectAlwaysWithSyncFallback","EmotionCacheContext","createCache","withEmotionCache","ThemeContext","typePropName","createEmotionProps","newProps","Insertion","insertStyles","Emotion","cssProp","css","WrappedComponent","registeredStyles","classNames","rawClassName","getRegisteredStyles","argsLength","createElementArgArray","userAgentData","brands","brand","ShadowRoot","_o","overflowX","overflowY","contextElement","_c","visualViewport","offsetLeft","offsetTop","frameElement","clientLeft","paddingLeft","clientTop","paddingTop","assignedSlot","insertable","_o4","_o4$ancestorScroll","ancestorScroll","_o4$ancestorResize","ancestorResize","_o4$elementResize","elementResize","_o4$animationFrame","animationFrame","cancelAnimationFrame","safeIsNaN","areInputsEqual","newInputs","lastInputs","second","resultFn","isEqual","memoized","newArgs","lastThis","lastArgs","lastResult","StateManagedSelect","baseSelectProps","_ref$defaultInputValu","defaultInputValue","_ref$defaultMenuIsOpe","defaultMenuIsOpen","_ref$defaultValue","propsInputValue","inputValue","propsMenuIsOpen","menuIsOpen","propsOnChange","propsOnInputChange","onInputChange","propsOnMenuClose","onMenuClose","propsOnMenuOpen","onMenuOpen","propsValue","restSelectProps","_objectWithoutProperties","stateInputValue","setStateInputValue","stateMenuIsOpen","setStateMenuIsOpen","stateValue","setStateValue","actionMeta","newValue","useStateManager","Select","selectOptions","label","selectValue","find","classNamePrefix","isSearchable","selectedOption","DEFAULT_WAI_ARIA_ATTRIBUTE","use","reactPropsRegex","isPropValid","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","Uint32Array","indexOfGroup","insertRules","clearGroup","deleteRule","getGroup","getRule","registerName","getTag","__webpack_nonce__","cssText","isServer","useCSSOMInjection","gs","names","server","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clearRules","clearTag","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","plugins","lastIndexOf","disableCSSOMInjection","disableVendorPrefixes","getName","isCss","theme","Ge","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","as","withComponent","_foldedDefaultProps","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","collectStyles","interleaveWithNodeStream","templateObject_1","templateObject_2","__makeTemplateObject","cooked","keyframes","styled","templateObject_3","spin","getDefaultStyle","__assign","_a","_b","radius","_f","ariaLabel","wrapperStyle","wrapperClass","_g","x1","y1","x2","y2","stopColor","fillRule","dur","repeatCount","cx","cy","dash","ProgressBar","_h","borderColor","_j","barColor","preserveAspectRatio","calcMode","keyTimes","clipPath","TailSpin","getTotalPageCount","totalCount","setGamesList","localStorage","getItem","setDisplayMode","platformParam","setPlatformParam","_useState8","totalPages","setTotalPages","_useState10","setLimit","_useState12","setPage","_useState14","setFilter","useSortGames","lastElement","_useFetching2","getGamesList","results","_useFetching4","getGamesListWithLimit","_useFetching6","getGamesByPlatform","MySelect","selectedSort","setItem","LoaderContent","getGamesListByParam","DevelopersService","_getDevelopersList","_getGamesByDeveloperSlug","_getDevelopersGameById","_getDeveloperById","buttonText","image_background","games_count","games","list","CardDefault","developersList","setDevelopersList","getDevelopersList","getDevelopers","CardList","PublishersService","_getPublishersList","_getGamesByPublisherSlug","_getPublisherBySlug","publishersList","setPublishersList","getPublishersList","getPublishers","GenresService","_getGenresList","_getGamesByGenreSlug","_getGenreBySlug","genresList","setGenresList","getGenresList","getGenres","PlatformsService","_getPlatformsList","_getGamesByPlatformId","_getPlatformById","platformsList","setPlatformsList","getPlatformsList","getPlatforms","TagsService","_getTagssList","_getGamesByTagSlug","_getTagBySlug","tagsList","setTagsList","getTagssList","dev","setDev","_useState16","getDeveloperById","getDeveloper","isDeveloperLoading","developerError","getGamesByDeveloperSlug","getGames","isGamesLoading","gamesError","_useFetching8","sanitizedText","scrollTo","Loader","handleClose","modalCloseIcon","ssrDocument","querySelector","getElementById","createEvent","initEvent","getDocument","support","deviceCached","browser","ssrWindow","back","CustomEvent","Image","screen","matchMedia","getWindow","win","nextTick","getTranslate","matrix","curTransform","transformMatrix","axis","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","MsTransform","m41","m42","isNode","noExtend","nextSource","keysArray","nextKey","__swiper__","setCSSProperty","varName","varValue","animateCSSModeScroll","swiper","targetPosition","side","startPosition","translate","duration","speed","wrapperEl","scrollSnapType","cssModeFrameID","isOutOfBound","animate","getTime","easeProgress","currentPosition","_defineProperty","elementChildren","_el$classList","elementStyle","elementIndex","elementParents","parents","parentElement","elementTransitionEnd","fireCallBack","elementOuterSize","includeMargins","getSupport","smoothScroll","touch","DocumentTouch","calcSupport","getDevice","device","ios","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getBrowser","needPerspectiveFix","isSafari","_ua$split$1$split$0$s2","num","major","minor","isWebView","calcBrowser","on","events","handler","eventsListeners","destroyed","once","onceHandler","off","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","emit","updateSize","isHorizontal","isVertical","updateSlides","getDirectionLabel","getDirectionPropertyValue","slidesEl","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","slideEl","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","slideSize","gridEnabled","grid","rows","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingRight","_slide","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","loop","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","visibleSlides","activeIndex","minusOffset","swiperSlideOffset","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","getSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","activeSlide","getFilteredSlide","slideActiveClass","slideNextClass","slidePrevClass","nextSlide","nextEls","nextElementSibling","elementNextAll","prevSlide","prevEls","previousElementSibling","elementPrevAll","emitSlidesClasses","updateActiveIndex","newActiveIndex","realIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","aIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","initialized","runCallbacksOnInit","updateClickedSlide","closest","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","previousTranslate","translateTo","runCallbacks","translateBounds","animating","preventInteractionOnTransition","newTranslate","isH","_wrapperEl$scrollTo","onTranslateToWrapperTransitionEnd","transitionEmit","transitionDuration","transitionStart","transitionEnd","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSliding","loopFix","_clientLeft","rewind","slidePrev","prevSnapIndex","normalizedSnapGrid","prevSnap","prevIndex","slideReset","slideToClosest","currentSnap","slideSelector","loopedSlides","loopCreate","slideRealIndex","_ref$slideTo","activeSlideIndex","byMousewheel","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","recalcSlides","currentSlideTranslate","diff","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","setGrabCursor","moving","simulateTouch","isLocked","touchEventsTarget","__preventObserver__","unsetGrabCursor","touchEventsData","evCache","originalEvent","targetEl","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","currentY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","pointerIndex","cachedEv","targetTouch","preventedByNestedSwiper","prevX","prevY","touchReleaseOnEdges","diffX","diffY","pow","touchAngle","atan2","touchMoveStopPropagation","nested","touchesDiff","previousX","previousY","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","loopFixed","isLoop","startTranslate","evt","allowMomentumBounce","grabCursor","disableParentSwiper","resistanceRatio","resistance","followFinger","currentPos","touchEndTime","timeDiff","pathTree","lastClickTime","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","nextEl","prevEl","onResize","setBreakpoint","isVirtualLoop","autoplay","running","paused","resume","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","processLazyPreloader","imageEl","lazyEl","lazyPreloaderClass","update","dummyEventAttached","dummyEventListener","domMethod","swiperMethod","updateOnWindowResize","attachEvents","detachEvents","isGridEnabled","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","disable","enable","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","point","minRatio","_points$i","addClasses","suffixes","resultClasses","prepareClasses","removeClasses","wasLocked","lastSlideRightEdge","init","resizeObserver","createElements","uniqueNavElements","passiveListeners","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","eventsEmitter","extendedDefaults","Swiper","swipers","newParams","_swiper$modules","modules","__modules__","mod","extendParams","swiperParams","passedParams","eventName","clickTimeout","velocities","imagesToLoad","imagesLoaded","cls","updates","getSlideClasses","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mounted","shadowEl","getWrapperSelector","mount","deleteInstance","cleanStyles","deleteProps","newDefaults","installModule","prototypeGroup","protoMethod","resizeHandler","orientationChangeHandler","newWidth","contentBoxSize","inlineSize","blockSize","observers","attach","WebkitMutationObserver","mutations","observerUpdate","observeParents","observeSlideChildren","containerParents","createElementIfNotDefined","checkProps","Navigation","hideOnClick","disabledClass","hiddenClass","lockClass","navigationDisabledClass","makeElementsArray","getEl","toggleEl","subEl","_subEl$classList","_swiper$navigation","onPrevClick","onNextClick","initButton","_swiper$navigation2","destroyButton","_el$classList2","_swiper$navigation3","_swiper$navigation4","pagination","clickable","toggle","_swiper$el$classList2","_swiper$el$classList","classesToSelector","Pagination","bulletSize","pfx","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","formatFractionTotal","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","firstIndex","midIndex","_bulletEl$classList","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","paginationHTML","numberOfBullets","Scrollbar","dragStartPos","dragSize","trackSize","divider","dragTimeout","scrollbar","dragEl","newSize","newPos","hide","getPointerPosition","setDragPosition","positionRatio","box","elementOffset","onDragStart","onDragMove","onDragEnd","snapOnRelease","activeListener","passiveListener","eventMethod","swiperEl","dragClass","draggable","scrollbarDisabledClass","momentum","momentumRatio","momentumBounce","momentumBounceRatio","momentumVelocityRatio","sticky","minimumVelocity","lastMoveEvent","velocityEvent","distance","momentumDuration","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","moveDistance","currentSlideSize","needsNavigation","needsPagination","needsScrollbar","uniqueClasses","unique","paramsList","isChildSwiperSlide","processChildren","slots","slot","foundSlides","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","changedParams","scrollbarEl","paginationEl","updateParams","currentParams","thumbs","useIsomorphicLayoutEffect","SwiperSlideContext","SwiperContext","externalElRef","_ref$tag","Tag","_ref$wrapperTag","wrapperTag","WrapperTag","onSwiper","eventsAssigned","containerClasses","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","splitEvents","allowedParams","plainObj","getParams","restProps","_getChildren","onBeforeBreakpoint","_containerClasses","initSwiper","passParams","SwiperCore","extendWith","renderExternal","renderExternalUpdate","mountSwiper","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","parallax","updateOnVirtualData","loopFrom","loopTo","slidesToRender","renderVirtual","SwiperSlide","externalRef","_ref$className","virtualIndex","slideElRef","slideClasses","setSlideClasses","setLazyLoaded","updateClasses","slideData","isVisible","renderChildren","screenshots","setScreenshots","showGallery","setShowGallery","selectedIndex","setSelectedIndex","getGameScreenshotsById","getScreenshots","galleryImages","screenshot","image","FreeMode","handleImageClick","Modal","ImageGallery","achievs","setAchievs","getGameAchiviementsById","getAchieves","achieve","percent","devs","setDevs","getDevelopersGameById","getDevs","swiperContent","positions","formatDate","dateString","year","getFullYear","getMonth","day","getDate","posts","setPosts","getRedditPostsById","getPosts","postsContent","created","username_url","rel","additions","setAdditions","getGameAdditionsById","getAdditions","showMore","setShowMore","showNoAdditionsMessage","showLimitedAdditions","showAllAdditions","limitedAdditions","addition","allAdditions","urls","setUrls","getStoreGameById","getUrls","isMobile","setIsMobile","checkIsMobile","storeIcons","psStore","xboxStore","epicGamesStore","steamStore","nintendoStore","googlePlayStore","appleStore","gogStore","itchIoStore","mobileSlides","store","store_id","desktopStores","req","regex","requirements","setGame","expanded","setExpanded","getGameBySlug","genres","genre","playtime","ratings","StoresAvailable","tba","developers","publishers","publ","esrb_rating","website","Requirements","minimum","recommended","GameScreenshots","GameDevs","GameAchievements","reddit_count","reddit_url","reddit_name","reddit_description","GameRedditPosts","background_image_additional","GameAdditions","publisher","setPublisher","getPublisherBySlug","getPublisher","isPublisherLoading","publisherError","getGamesByPublisherSlug","setGenre","getGenreBySlug","getGenre","isGenreLoading","genreError","getGamesByGenreSlug","setPlatform","getPlatformById","getPlatform","isPlatformLoading","platformError","getGamesByPlatformId","setTag","getTagBySlug","isTagLoading","tagError","getGamesByTagSlug","MainPage","PopularGamesPage","RatingGamesPage","MetacriticGamesPage","SingleGamePage","DevelopersPage","SingleDelevoperPage","PublishersPage","SinglePublisherPage","GenresPage","SingleGenrePage","PlatformsPage","SinglePlatformPage","TagsPage","SingleTagPage","setResults","getGamesListBySearch","getSearch","getSearchByPage","SearchResultPage","searchQuery","Header","AppRouter","Footer","ReactDOM","App"],"sourceRoot":""} \ No newline at end of file diff --git a/src/resources/img/icons/add_white_24dp.svg b/static/media/add_white_24dp.197a2501aa3068d097db4c47c4d5803e.svg similarity index 100% rename from src/resources/img/icons/add_white_24dp.svg rename to static/media/add_white_24dp.197a2501aa3068d097db4c47c4d5803e.svg diff --git a/src/resources/img/icons/added-dev.svg b/static/media/added-dev.3861ae1dbaaa92774c25.svg similarity index 100% rename from src/resources/img/icons/added-dev.svg rename to static/media/added-dev.3861ae1dbaaa92774c25.svg diff --git a/src/resources/img/icons/android.svg b/static/media/android.ef4997b7782caa544f442954df607657.svg similarity index 100% rename from src/resources/img/icons/android.svg rename to static/media/android.ef4997b7782caa544f442954df607657.svg diff --git a/src/resources/img/icons/appleStore.svg b/static/media/appleStore.b69b9b60bd15f85106e0437aaffc0dc7.svg similarity index 100% rename from src/resources/img/icons/appleStore.svg rename to static/media/appleStore.b69b9b60bd15f85106e0437aaffc0dc7.svg diff --git a/src/resources/img/icons/close-button.svg b/static/media/close-button.587771c20e9ec1093ee6.svg similarity index 100% rename from src/resources/img/icons/close-button.svg rename to static/media/close-button.587771c20e9ec1093ee6.svg diff --git a/src/resources/img/icons/column-icon.svg b/static/media/column-icon.861759b622b62040559d.svg similarity index 100% rename from src/resources/img/icons/column-icon.svg rename to static/media/column-icon.861759b622b62040559d.svg diff --git a/src/resources/img/icons/epicgamesStore.svg b/static/media/epicgamesStore.c1ee1895a44786d1d2415ac91593adc1.svg similarity index 100% rename from src/resources/img/icons/epicgamesStore.svg rename to static/media/epicgamesStore.c1ee1895a44786d1d2415ac91593adc1.svg diff --git a/src/resources/img/icons/errorIcon.svg b/static/media/errorIcon.f0af6c6f720c03461084.svg similarity index 100% rename from src/resources/img/icons/errorIcon.svg rename to static/media/errorIcon.f0af6c6f720c03461084.svg diff --git a/src/resources/img/icons/gogStore.svg b/static/media/gogStore.9067292da7a1d81d759307a6b3645d0a.svg similarity index 100% rename from src/resources/img/icons/gogStore.svg rename to static/media/gogStore.9067292da7a1d81d759307a6b3645d0a.svg diff --git a/src/resources/img/icons/googlePlayStore.svg b/static/media/googlePlayStore.63328e0af3b93c01c76943aa28c68198.svg similarity index 100% rename from src/resources/img/icons/googlePlayStore.svg rename to static/media/googlePlayStore.63328e0af3b93c01c76943aa28c68198.svg diff --git a/src/resources/img/hero-photo.jpg b/static/media/hero-photo.5ade524b4309e05ae7fd.jpg similarity index 100% rename from src/resources/img/hero-photo.jpg rename to static/media/hero-photo.5ade524b4309e05ae7fd.jpg diff --git a/src/resources/img/icons/ios.svg b/static/media/ios.1be1267a0da8e718fb07e270e018e43f.svg similarity index 100% rename from src/resources/img/icons/ios.svg rename to static/media/ios.1be1267a0da8e718fb07e270e018e43f.svg diff --git a/src/resources/img/icons/itchIoStore.svg b/static/media/itchIoStore.dfbce58f4f1d5461465f0cfa2d2921c1.svg similarity index 100% rename from src/resources/img/icons/itchIoStore.svg rename to static/media/itchIoStore.dfbce58f4f1d5461465f0cfa2d2921c1.svg diff --git a/src/resources/img/icons/list-icon.svg b/static/media/list-icon.125c97e70366470e91d3.svg similarity index 100% rename from src/resources/img/icons/list-icon.svg rename to static/media/list-icon.125c97e70366470e91d3.svg diff --git a/src/resources/img/main-hero.jpeg b/static/media/main-hero.133aaf53617b5959adbb.jpeg similarity index 100% rename from src/resources/img/main-hero.jpeg rename to static/media/main-hero.133aaf53617b5959adbb.jpeg diff --git a/src/resources/img/icons/modal-close.svg b/static/media/modal-close.f556d441d89f2bfca4f99daaf847d978.svg similarity index 100% rename from src/resources/img/icons/modal-close.svg rename to static/media/modal-close.f556d441d89f2bfca4f99daaf847d978.svg diff --git a/src/resources/img/icons/nintendo.svg b/static/media/nintendo.04fcc2fb82e356e8eabdf981c94862d3.svg similarity index 100% rename from src/resources/img/icons/nintendo.svg rename to static/media/nintendo.04fcc2fb82e356e8eabdf981c94862d3.svg diff --git a/src/resources/img/icons/nintendoStore.svg b/static/media/nintendoStore.76701a975fc1e33c6c6c075724584241.svg similarity index 100% rename from src/resources/img/icons/nintendoStore.svg rename to static/media/nintendoStore.76701a975fc1e33c6c6c075724584241.svg diff --git a/src/resources/img/icons/playstation.svg b/static/media/playstation.ecb9f256bdbf6e0d2914b23c25096282.svg similarity index 100% rename from src/resources/img/icons/playstation.svg rename to static/media/playstation.ecb9f256bdbf6e0d2914b23c25096282.svg diff --git a/src/resources/img/icons/psStore.svg b/static/media/psStore.ee3230058629052169a37b6e07ae02ee.svg similarity index 100% rename from src/resources/img/icons/psStore.svg rename to static/media/psStore.ee3230058629052169a37b6e07ae02ee.svg diff --git a/src/resources/img/icons/search-black.svg b/static/media/search-black.9f81706b2945e3f4b04b.svg similarity index 100% rename from src/resources/img/icons/search-black.svg rename to static/media/search-black.9f81706b2945e3f4b04b.svg diff --git a/src/resources/img/icons/search.svg b/static/media/search.c800c77628d90b1efa10.svg similarity index 100% rename from src/resources/img/icons/search.svg rename to static/media/search.c800c77628d90b1efa10.svg diff --git a/src/resources/img/icons/steamStore.svg b/static/media/steamStore.3c8772cba59a2474d8b2b75bd6d15c1e.svg similarity index 100% rename from src/resources/img/icons/steamStore.svg rename to static/media/steamStore.3c8772cba59a2474d8b2b75bd6d15c1e.svg diff --git a/src/resources/img/icons/windows.svg b/static/media/windows.1eb2ae366b46e9c7cd72873a6650ecca.svg similarity index 100% rename from src/resources/img/icons/windows.svg rename to static/media/windows.1eb2ae366b46e9c7cd72873a6650ecca.svg diff --git a/src/resources/img/icons/xbox.svg b/static/media/xbox.73ae45c0cec2e50a903d3ab1f821f069.svg similarity index 100% rename from src/resources/img/icons/xbox.svg rename to static/media/xbox.73ae45c0cec2e50a903d3ab1f821f069.svg diff --git a/src/resources/img/icons/xboxStore.svg b/static/media/xboxStore.cf883a72b8f5f821fc37de8052ae8f0e.svg similarity index 100% rename from src/resources/img/icons/xboxStore.svg rename to static/media/xboxStore.cf883a72b8f5f821fc37de8052ae8f0e.svg