From b476373ae8397ccae0ec85d5f80f7c2984393d4a Mon Sep 17 00:00:00 2001 From: CB97103 Date: Thu, 23 Nov 2023 09:16:02 -0500 Subject: [PATCH 01/30] Carpetas iniciales --- package-lock.json | 7941 ++++++++++++++++++++++++++++++++++++++ src/components/footer.js | 4 + src/components/header.js | 0 src/components/nav.js | 0 src/data/dataset.js | 388 ++ src/img/favicon_logo.ico | Bin 0 -> 261950 bytes src/img/iconoLupa.png | Bin 0 -> 9933 bytes src/img/iconoMenu.png | Bin 0 -> 6205 bytes src/img/logokaonashi.png | Bin 0 -> 8693 bytes src/index.html | 154 +- src/index.js | 3 + src/lib/dataFunctions.js | 5 + src/router.js | 2 + src/style.css | 115 + src/views/Example.js | 5 + 15 files changed, 8614 insertions(+), 3 deletions(-) create mode 100644 package-lock.json create mode 100644 src/components/footer.js create mode 100644 src/components/header.js create mode 100644 src/components/nav.js create mode 100644 src/data/dataset.js create mode 100644 src/img/favicon_logo.ico create mode 100644 src/img/iconoLupa.png create mode 100644 src/img/iconoMenu.png create mode 100644 src/img/logokaonashi.png create mode 100644 src/lib/dataFunctions.js create mode 100644 src/router.js create mode 100644 src/style.css diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..68118542 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7941 @@ +{ + "name": "dataverse-chat", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "dataverse-chat", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@babel/core": "^7.6.2", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", + "acorn": "^8.8.2", + "babel-jest": "^27.0.1", + "css": "^3.0.0", + "eslint": "^8.3.0", + "gh-pages": "^3.1.0", + "htmlhint": "^1.0.0", + "jest": "^27.0.1", + "jsdom": "^22.1.0", + "opener": "^1.5.1", + "serve": "^14.2.1" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz", + "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.4", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.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==", + "dev": true, + "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.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.4", + "@babel/generator": "^7.23.4", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.4", + "@babel/types": "^7.23.4", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "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==", + "dev": true + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.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==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz", + "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.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==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "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==", + "dev": true, + "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/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/@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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/@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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/@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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/@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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/@jest/transform/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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/@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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "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/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "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.7", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz", + "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.4", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz", + "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "20.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz", + "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@zeit/schemas": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz", + "integrity": "sha512-g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dev": true, + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "dev": true + }, + "node_modules/ansi-align/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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "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==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "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/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/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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-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==", + "dev": true, + "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==", + "dev": true, + "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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/boxen": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.0.0.tgz", + "integrity": "sha512-j//dBVuyacJbvW+tvZ9HuH03fZ46QcaKvvhZickZqtB271DxJ7SNRSNxrV/dZX0085m7hISRZWbzWlJvx/rHSg==", + "dev": true, + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.0", + "chalk": "^5.0.1", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001564", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz", + "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/chalk-template/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/chalk-template/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/chalk-template/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==", + "dev": true + }, + "node_modules/chalk-template/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk-template/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/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==", + "dev": true + }, + "node_modules/cliui/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==", + "dev": true + }, + "node_modules/cliui/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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "dev": true, + "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/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "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/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.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==", + "dev": true + }, + "node_modules/cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dev": true, + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.592", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.592.tgz", + "integrity": "sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww==", + "dev": true + }, + "node_modules/email-addresses": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", + "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==", + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "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==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/eslint": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz", + "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.54.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "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.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "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", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "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.3", + "strip-ansi": "^6.0.1", + "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-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dev": true, + "dependencies": { + "punycode": "^1.3.2" + } + }, + "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==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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/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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "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/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gh-pages": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz", + "integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==", + "dev": true, + "dependencies": { + "async": "^2.6.1", + "commander": "^2.18.0", + "email-addresses": "^3.0.1", + "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/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/htmlhint": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/htmlhint/-/htmlhint-1.1.4.tgz", + "integrity": "sha512-tSKPefhIaaWDk/vKxAOQbN+QwZmDeJCq3bZZGbJMoMQAfTjepudC+MkuT9MOBbuQI3dLLzDWbmU7fLV3JASC7Q==", + "dev": true, + "dependencies": { + "async": "3.2.3", + "chalk": "^4.1.2", + "commander": "^9.1.0", + "glob": "^7.2.0", + "is-glob": "^4.0.3", + "node-fetch": "^2.6.2", + "strip-json-comments": "3.1.0", + "xml": "1.0.1" + }, + "bin": { + "htmlhint": "bin/htmlhint" + } + }, + "node_modules/htmlhint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/htmlhint/node_modules/async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + }, + "node_modules/htmlhint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/htmlhint/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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/htmlhint/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==", + "dev": true + }, + "node_modules/htmlhint/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/htmlhint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/htmlhint/node_modules/strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/htmlhint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-port-reachable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-4.0.0.tgz", + "integrity": "sha512-9UoipoxYmSk6Xy7QFgRv2HDyaysmgSG75TFQs6S+3pDM7ZhKTF/bskZV+0UlABHzKjNVhPjYCLfeZUEg1wXxig==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "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==", + "dev": true, + "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-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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-jsdom/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==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "dev": true, + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "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/jest-environment-jsdom/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-environment-jsdom/node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dev": true, + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "engines": { + "node": ">=10.4" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true + }, + "node_modules/jest-environment-jsdom/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==", + "dev": true, + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-environment-jsdom/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "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/jest-environment-jsdom/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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/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==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": 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/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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=16" + }, + "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==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "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==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.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==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "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==", + "dev": true, + "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.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "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/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "engines": { + "node": ">=0.10.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==", + "dev": true + }, + "node_modules/registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/registry-url": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", + "integrity": "sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==", + "dev": true, + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/serve": { + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/serve/-/serve-14.2.1.tgz", + "integrity": "sha512-48er5fzHh7GCShLnNyPBRPEjs2I6QBozeGr02gaacROiyS/8ARADlj595j39iZXAqBbJHH/ivJJyPRWY9sQWZA==", + "dev": true, + "dependencies": { + "@zeit/schemas": "2.29.0", + "ajv": "8.11.0", + "arg": "5.0.2", + "boxen": "7.0.0", + "chalk": "5.0.1", + "chalk-template": "0.4.0", + "clipboardy": "3.0.0", + "compression": "1.7.4", + "is-port-reachable": "4.0.0", + "serve-handler": "6.1.5", + "update-check": "1.5.4" + }, + "bin": { + "serve": "build/main.js" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dev": true, + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-handler/node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dev": true, + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "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/serve/node_modules/chalk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz", + "integrity": "sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/serve/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/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==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "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/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "dev": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "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/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dev": true, + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "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/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-check": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/update-check/-/update-check-1.5.4.tgz", + "integrity": "sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==", + "dev": true, + "dependencies": { + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "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==", + "dev": true, + "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/v8-to-istanbul/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==", + "dev": true + }, + "node_modules/v8-to-istanbul/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "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.", + "dev": true, + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dev": true, + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-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==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "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==", + "dev": true, + "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": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "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/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", + "dev": true + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/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==", + "dev": true + }, + "node_modules/yargs/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==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/src/components/footer.js b/src/components/footer.js new file mode 100644 index 00000000..0a17281a --- /dev/null +++ b/src/components/footer.js @@ -0,0 +1,4 @@ +/*Esta carpeta contendrá archivos JavaScript que representan componentes reutilizables +de tu aplicación. Estos componentes pueden ser elementos de la interfaz de usuario que + se utilizan en varias partes de tu aplicación. Organizar tus componentes de esta manera + ayuda a mantener un código más modular y reutilizable. */ \ No newline at end of file diff --git a/src/components/header.js b/src/components/header.js new file mode 100644 index 00000000..e69de29b diff --git a/src/components/nav.js b/src/components/nav.js new file mode 100644 index 00000000..e69de29b diff --git a/src/data/dataset.js b/src/data/dataset.js new file mode 100644 index 00000000..e057d499 --- /dev/null +++ b/src/data/dataset.js @@ -0,0 +1,388 @@ +export default [ + { + id: "akira", + name: "Akira", + shortDescription: + "En un Neo-Tokio distópico, un joven con poderes psíquicos desencadena el caos mientras un grupo de amigos lucha por detenerlo", + description: + "Es una película de animación japonesa de 1988 dirigida por Katsuhiro Otomo, basada en su manga homónimo. La historia se desarrolla en Neo-Tokio, una ciudad pos apocalíptica, siguiendo a Kaneda y Tetsuo, dos jóvenes envueltos en un misterio relacionado con Akira, un niño con poderes psíquicos. La película combina una trama intrincada con una animación revolucionaria y efectos visuales sorprendentes. Akira es aclamada por su influencia en la cultura pop y su impacto en el género de la ciencia ficción, siendo una obra maestra del anime que continúa fascinando a audiencias en todo el mundo.", + imageUrl: "https://www.ecartelera.com/carteles/4200/4244/001_m.jpg", + facts: { + year: 1988, + genre: "Ciencia Ficción", + studio: "TMS Entertainment", + }, + }, + { + id: "my-neighbor-totoro", + name: "My Neighbor Totoro", + shortDescription: + "Embárcate en un viaje mágico con dos niñas que encuentran amistad y maravillas en el bosque con el encantador Totoro", + description: + "Es una película de animación japonesa del Studio Ghibli, dirigida por Hayao Miyazaki en 1988. La historia sigue a dos hermanas, Satsuki y Mei, que se mudan a la campiña japonesa para estar cerca de su madre enferma. Allí, descubren a Totoro, un amigable espíritu del bosque. La película es un cuento mágico que celebra la niñez, la naturaleza y la imaginación. Con su animación exquisita y personajes entrañables. Mi Vecino Totoro ha cautivado a audiencias de todas las edades y se ha convertido en un clásico del cine de animación japonesa.", + imageUrl: + "https://i.kinja-img.com/image/upload/c_fit,q_60,w_645/ijmuciy2p6cg6tp6bqab.jpg", + facts: { + year: 1988, + genre: "Fantasía", + studio: "Studio Ghibli", + }, + }, + { + id: "grave-of-the-fireflies", + name: "Grave of the Fireflies", + shortDescription: + "Una poderosa y desgarradora historia de dos hermanos luchando por sobrevivir en medio de la devastación de la Segunda Guerra Mundial.", + description: + "Es una película de animación japonesa de 1988, dirigida por Isao Takahata y producida por Studio Ghibli. La película narra la desgarradora historia de dos hermanos, Setsuko y Seita, que luchan por sobrevivir en Japón durante la Segunda Guerra Mundial. Abandonados por su familia, enfrentan la hambruna y la tragedia en un mundo devastado por la guerra. La película explora temas de pérdida, sacrificio y la inocencia perdida. Con su narrativa conmovedora y animación conmovedora. La Tumba de las Luciérnagas es un conmovedor retrato de la lucha y la resiliencia en medio de la adversidad.", + imageUrl: "https://www.ecartelera.com/carteles/6200/6288/003.jpg", + facts: { + year: 1988, + genre: "Drama · Bélico", + studio: "Studio Ghibli", + }, + }, + { + id: "ninja-scroll", + name: "Ninja Scroll", + shortDescription: + "Un ninja solitario debe enfrentarse a demonios y asesinos mortales en un emocionante viaje lleno de acción y misterio.", + description: + "Ninja Scroll es una película de anime que combina acción y aventuras, lanzada en 1993 y dirigida por Yoshiaki Kawajiri. La historia sigue a Jubei Kibagami, un ninja solitario, mientras se ve envuelto en una trama mortal que involucra a un grupo de guerreros sobrenaturales y un misterioso oro. Con combates emocionantes y una trama llena de giros, la película se ha convertido en un clásico del anime y es conocida por su estilo visual distintivo y su trama intensa.", + imageUrl: "https://www.ecartelera.com/carteles/6000/6061/001_p.jpg", + facts: { + year: 1993, + genre: "Acción · Aventura · Fantasía", + studio: "Madhouse", + }, + }, + { + id: "ghost-in-the-shell", + name: "Ghost in the Shell", + shortDescription: + "Adéntrate en un intrigante futuro cibernético donde una valiente agente busca la verdad en un mundo de alta tecnología.", + description: + "Es una película de anime revolucionaria dirigida por Mamoru Oshii. Ambientada en un futuro distópico, sigue a la Mayor Motoko Kusanagi y su equipo en la unidad de seguridad cibernética persiguiendo a un hacker conocido como el Puppet Master. La película explora cuestiones existenciales y filosóficas sobre la identidad y la tecnología, todo en un cautivador mundo cibernético. Con su impresionante animación y su enfoque en la fusión entre humanos y máquinas, Ghost in the Shell ha dejado una marca duradera en el género de ciencia ficción y anime.", + imageUrl: + "https://d32qys9a6wm9no.cloudfront.net/images/movies/poster/f6/556701bc495974bec9e0431c10fa598a_300x442.jpg?t=1636102095", + facts: { + year: 1995, + genre: "Ciencia Ficción · Thriller", + studio: "Production I.G", + }, + }, + { + id: "princess-mononoke", + name: "Princess Mononoke", + shortDescription: + "En un mundo de dioses y espíritus, una feroz princesa lucha por la supervivencia en una epopeya animada inolvidable.", + description: + "Dirigida por Hayao Miyazaki, es una obra maestra de la animación japonesa. La película narra la lucha épica entre la naturaleza y la civilización a través de la historia de Ashitaka, un joven príncipe maldito que se adentra en un mundo de dioses y espíritus para encontrar una cura. Se convierte en un intermediario en el conflicto entre los espíritus del bosque y los humanos que destruyen la naturaleza. La Princesa Mononoke es una exploración profunda de la coexistencia, la ecología y la relación entre humanidad y medio ambiente, todo ello con una animación visualmente impresionante y personajes complejos.", + imageUrl: + "https://wallpapers.com/images/high/princess-mononoke-studio-ghibli-4uc8he3kk9uur0dj.webp", + facts: { + year: 1997, + genre: "Fantasía · Aventura", + studio: "Studio Ghibli", + }, + }, + { + id: "perfect-blue", + name: "Perfect Blue", + shortDescription: + "Una estrella del pop se enfrenta a la oscuridad en su mente cuando un acosador desencadena un aterrador descenso psicológico.", + description: + "Dirigida por Satoshi Kon, es un thriller psicológico de animación que sigue a Mima, una cantante pop que decide dejar su carrera para convertirse en actriz. A medida que se sumerge en su nuevo papel, la realidad y la ficción se entrelazan y Mima experimenta una serie de sucesos aterradores que desafían su percepción de la realidad. La película explora temas de identidad, fama y obsesión en un ambiente de suspense psicológico. Perfect Blue es aclamada por su narrativa intrigante y su estilo visual distintivo, consolidando a Satoshi Kon como un maestro del anime.", + imageUrl: + "https://m.media-amazon.com/images/M/MV5BN2RkMjQ3ZjItNWNlMC00ZTZlLTg3OTQtMzJjYjMwOTQ1ODg4XkEyXkFqcGdeQXVyMDc2NTEzMw@@._V1_.jpg", + facts: { + year: 1997, + genre: "Thriller · Psicológico", + studio: "Madhouse", + }, + }, + { + id: "cowboy-bebop-knockin-on-heavens-door", + name: "Cowboy Bebop: Knockin' on Heaven's Door", + shortDescription: + "Los cazarrecompensas del Bebop se embarcan en una última misión épica para atrapar a un peligroso asesino en Marte.", + description: + "Es una película de anime basada en la exitosa serie de televisión Cowboy Bebop. Dirigida por Shinichirō Watanabe, la trama sigue a los cazarrecompensas del Bebop mientras investigan una serie de explosiones mortales en Marte. La película ofrece una narrativa independiente llena de acción, misterio y personajes complejos, ambientada en un universo futurista influenciado por el jazz y el cine noir. Knockin' on Heaven's Door es alabada por su impresionante animación y música, manteniendo el atractivo del fenómeno Cowboy Bebop y atrayendo a nuevos fanáticos al mundo de estos cazarrecompensas.", + imageUrl: "https://www.ecartelera.com/carteles/8000/8003/001_p.jpg", + facts: { + year: 2001, + genre: "Ciencia Ficción · Thriller", + studio: "Sunrise", + }, + }, + { + id: "neon-genesis-evangelion-the-end-of-evangelion", + name: "Neon Genesis Evangelion: The End of Evangelion", + shortDescription: + "La humanidad lucha por su existencia cuando los EVA se enfrentan a un apocalipsis espiritual y emocional.", + description: + "Una película de animación japonesa dirigida por Hideaki Anno, que sirve como final alternativo para la serie de televisión Neon Genesis Evangelion. La película presenta una narrativa compleja y abstracta que aborda temas existenciales y psicológicos a medida que los personajes enfrentan un apocalipsis de proporciones cósmicas. Con intensas secuencias de acción y simbolismo intrigante, The End of Evangelion ha dejado una impresión duradera en el mundo del anime y es celebrada por su exploración profunda de la psicología de los personajes y su enfoque filosófico en el género mecha.", + imageUrl: + "https://m.media-amazon.com/images/M/MV5BMjU0MzQwMmMtMWU3OS00MDc0LWIzOTItZmE1MjZlYmExMGJiXkEyXkFqcGdeQXVyNzI1NzMxNzM@._V1_.jpg", + facts: { + year: 1997, + genre: "Mecha · Psicológico", + studio: "Gainax", + }, + }, + { + id: "porco-rosso", + name: "Porco Rosso", + shortDescription: + "Únete al valiente piloto Porco Rosso mientras desafía a piratas aéreos en la Adriática de la década de 1930.", + description: + "Una película de animación japonesa dirigida por Hayao Miyazaki y producida por Studio Ghibli. La historia sigue a Porco Rosso, un piloto y aventurero convertido en cerdo antropomórfico, mientras combate piratas aéreos en el Adriático entre las dos guerras mundiales. La película presenta un mundo exquisitamente detallado y personajes encantadores, y aborda temas de honor, identidad y la lucha contra el mal. Con su estética nostálgica y encanto, Porco Rosso es una obra maestra que combina comedia, aventura y reflexión, y ha ganado un lugar especial en el corazón de los amantes del cine de animación.", + imageUrl: + "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSXI2NuFLET7y_rIV4gxGscpBcA-VbnQM6c7dCsK3OtBilpay79", + facts: { + year: 1992, + genre: "Aventura", + studio: "Studio Ghibli", + }, + }, + { + id: "whisper-of-the-heart", + name: "Whisper of the Heart", + shortDescription: + "Acompaña a una joven en su inspirador viaje de autodescubrimiento y creatividad mientras persigue su pasión por la escritura.", + description: + "Dirigida por Yoshifumi Kondō y producida por Studio Ghibli, es una conmovedora película de animación que sigue la historia de Shizuku, una joven apasionada por la lectura y la escritura. Cuando descubre un gato curioso en un tren, su búsqueda de un antiguo violín la lleva a descubrir su pasión y determinación. La película es un cálido retrato de la adolescencia, el amor y la búsqueda de los sueños, con una banda sonora encantadora y animación detallada. Whisper of the Heart es un tesoro de Ghibli que celebra la creatividad y el autodescubrimiento.", + imageUrl: + "https://play-lh.googleusercontent.com/UnXdxbMaOoyax8EypJfIR-gibJ2UiHEIcx06Qwd5u8hsHb69Iw1DXsVG352EoDzmHZvzNhzqZWd3iv2tcg", + facts: { + year: 1995, + genre: "Drama · Romance", + studio: "Studio Ghibli", + }, + }, + { + id: "paprika", + name: "Paprika", + shortDescription: + "Adéntrate en un mundo de sueños y pesadillas cuando una terapeuta usa tecnología para explorar la psique de sus pacientes.", + description: + "Dirigida por Satoshi Kon, es un intrigante thriller de animación que explora los límites entre la realidad y los sueños. La trama sigue a una terapeuta llamada Paprika que utiliza un dispositivo para entrar en los sueños de sus pacientes. Sin embargo, cuando el dispositivo es robado y los sueños comienzan a invadir la realidad, el mundo se sumerge en el caos. La película es un viaje psicodélico a través de los paisajes oníricos y los oscuros secretos de la mente humana, ofreciendo una narrativa surrealista y visualmente impactante. Paprika es un viaje emocionante y cerebral que desafía la percepción.", + imageUrl: + "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQdeH6W5bSU4T4L2J2BELJ6Jfuli_bPkpHzjgTEyxvJ_UEqfZxb", + facts: { + year: 2006, + genre: "Ciencia Ficción · Psicológico", + studio: "Madhouse", + }, + }, + { + id: "spirited-away", + name: "Spirited Away", + shortDescription: + "Acompaña a Chihiro en un viaje mágico a un mundo espiritual donde supera desafíos y descubre su coraje interior.", + description: + "El Viaje de Chihiro es una película de animación japonesa dirigida por Hayao Miyazaki y producida por Studio Ghibli. La película fue lanzada en el año 2001 y se ha convertido en un clásico del cine de animación. La historia sigue a Chihiro, una niña que se adentra en un mundo mágico lleno de espíritus y criaturas extraordinarias. A medida que Chihiro busca una manera de regresar a su mundo, se enfrenta a desafíos emocionantes y conmovedores. La película combina elementos de fantasía, aventura y drama para crear una experiencia cinematográfica inolvidable.", + imageUrl: + "https://es.web.img2.acsta.net/r_1920_1080/img/49/e8/49e8fe683dd25ab1338340981c5f62ca.jpg", + facts: { + year: 2001, + genre: "Aventura · Fantasía", + studio: "Studio Ghibli", + }, + }, + { + id: "howls-moving-castle", + name: "Howl's Moving Castle", + shortDescription: + "Embárcate en un viaje mágico con una joven encantada que se une a un hechicero en su misterioso castillo ambulante.", + description: + "El Castillo Ambulante es una película de animación japonesa dirigida por Hayao Miyazaki y producida por Studio Ghibli. La película se lanzó en el año 2004 y es una obra maestra del cine de animación. La historia sigue a Sophie, una joven que se convierte en una anciana debido a una maldición, y su encuentro con un misterioso castillo ambulante dirigido por Howl, un mago enigmático. La película combina elementos de fantasía, aventuras y romance en un mundo mágico lleno de personajes encantadores y creatividad visual.", + imageUrl: + "https://i.pinimg.com/564x/5c/88/35/5c88353ae652bed16e16fa47923aa903.jpg", + facts: { + year: 2004, + genre: "Aventura · Fantasía", + studio: "Studio Ghibli", + }, + }, + { + id: "your-name", + name: "Your Name", + shortDescription: + "Dos almas destinadas se cruzan en un romance apasionante y misterioso que trasciende el tiempo y el espacio.", + description: + "Dirigida por Makoto Shinkai, es una película de animación japonesa que entrelaza dos destinos. La historia sigue a Mitsuha, una chica que anhela la vida en la ciudad, y Taki, un chico de Tokio. A través de un misterioso fenómeno, sus cuerpos intercambian lugares intermitentemente, lo que da lugar a una conmovedora conexión. La película es una exploración de la distancia, el tiempo y el destino, con un toque mágico y una narrativa emocional. Your Name es alabada por su animación impresionante y su capacidad para tocar el corazón de los espectadores con su historia de amor y conexión trascendental.", + imageUrl: + "https://blog.audiomu.com/wp-content/uploads/2017/12/kimi-no-na-wa-poster.jpg", + facts: { + year: 2016, + genre: "Drama · Romance", + studio: "CoMix Wave Films", + }, + }, + { + id: "princess-kaguya", + name: "The Tale of the Princess Kaguya", + shortDescription: + "Explora una conmovedora fábula de una princesa celestial que lucha contra expectativas y celebra la belleza de la vida humana.", + description: + "El cuento de la princesa Kaguya es una película de animación japonesa dirigida por Isao Takahata y producida por Studio Ghibli. La película se lanzó en el año 2013 y está basada en un antiguo cuento folklórico japonés llamado 'El cortador de bambú'. La historia sigue a una misteriosa princesa que nace de un bambú y crece rápidamente, enfrentando desafíos y aventuras en un mundo lleno de magia y belleza. La película combina elementos de fantasía y drama en un estilo visual único y conmovedor.", + imageUrl: + "https://mundo-ghibli.com/wp-content/uploads/2023/02/the-tale-of-the-princess-kaguya-wallpaper-71.jpg.webp", + facts: { + year: 2013, + genre: "Fantasía · Drama", + studio: "Studio Ghibli", + }, + }, + { + id: "the-wind-rises", + name: "The Wind Rises", + shortDescription: + "Adéntrate en la vida del visionario ingeniero Jiro Horikoshi mientras persigue su sueño de diseño de aviones en la preguerra.", + description: + "El Viento se Levanta es una película de animación japonesa dirigida por Hayao Miyazaki y producida por Studio Ghibli. La película se lanzó en el año 2013 y es una obra maestra que combina elementos de drama, romance y biografía. La historia sigue la vida de Jiro Horikoshi, el diseñador de aviones que creó el famoso avión de combate Mitsubishi A6M Zero. A través de la película, se exploran temas de pasión, creatividad y los dilemas éticos de la ingeniería en tiempos de guerra.", + imageUrl: + "https://2.bp.blogspot.com/-NQtphumFrWk/UtWZml6uGZI/AAAAAAAAC-o/geHvU_WeG08/s1600/kaze-tachinu-cartel-usa-2.jpg", + facts: { + year: 2013, + genre: "Drama · Romance", + studio: "Studio Ghibli", + }, + }, + { + id: "kikis-delivery-service", + name: "Kiki's Delivery Service", + shortDescription: + "Acompaña a una joven bruja en su encantador viaje de autodescubrimiento mientras abre un servicio de entregas mágicas.", + description: + "Dirigida por Hayao Miyazaki y producida por Studio Ghibli, es una encantadora película de animación que narra la historia de Kiki, una joven bruja que, como parte de su tradición, debe embarcarse en un año de independencia para perfeccionar sus habilidades mágicas. Junto con su gato Jiji, Kiki se establece en una ciudad costera y comienza un servicio de entregas. La película celebra la autodeterminación, la amistad y la importancia de encontrar tu lugar en el mundo. Con una animación asombrosa y un espíritu optimista, Kiki's Delivery Service es una obra maestra que cautiva a todas las edades.", + imageUrl: + "https://s3.amazonaws.com/nightjarprod/content/uploads/sites/130/2023/03/02145053/kikis-delivery-service-poster-Ghibli-scaled.jpg", + facts: { + year: 1989, + genre: "Fantasía · Aventura", + studio: "Studio Ghibli", + }, + }, + { + id: "the-red-turtle", + name: "The Red Turtle", + shortDescription: + "Sumérgete en una historia silente y emotiva de un náufrago que forja un vínculo profundo con una misteriosa tortuga roja.", + description: + "La Tortuga Roja es una película de animación franco-belga-japonesa dirigida por Michael Dudok de Wit. La película se lanzó en el año 2016 y es conocida por su estilo visual único y la falta de diálogos, lo que la convierte en una experiencia cinematográfica única. La historia sigue a un náufrago que queda atrapado en una isla desierta y su relación con una misteriosa tortuga roja. A lo largo de la película, se exploran temas de soledad, conexión con la naturaleza y la vida misma.", + imageUrl: "https://static.tvtropes.org/pmwiki/pub/images/red_turtle.png", + facts: { + year: 2016, + genre: "Drama · Fantasía", + studio: "Studio Ghibli · Wild Bunch · Why Not Productions", + }, + }, + { + id: "a-silent-voice", + name: "A Silent Voice", + shortDescription: + "Una emotiva película que explora la redención y el poder del perdón mientras un acosador busca la amistad.", + description: + "Dirigida por Naoko Yamada, es una conmovedora película de animación japonesa que aborda el tema del bullying y la redención. La historia sigue a Shoya Ishida, quien busca la redención por haber acosado a una compañera sorda, Shoko Nishimiya, en la escuela primaria. La película explora temas de comunicación, aislamiento y perdón, mientras los personajes buscan reconciliarse con su pasado. A Silent Voice ofrece una narrativa compleja y emotiva que invita a la reflexión sobre la importancia de la empatía y la aceptación, y es un retrato profundamente conmovedor de la lucha por la redención personal.", + imageUrl: + "https://blacknerdproblems.com/wp-content/uploads/2021/05/A-Silent-Voice-e1622441591313.jpg", + facts: { + year: 2016, + genre: "Drama · Romance", + studio: "Kyoto Animation", + }, + }, + { + id: "weathering-with-you", + name: "Weathering With You", + shortDescription: + "En un mundo donde la lluvia es mágica, dos jóvenes buscan un amor imposible bajo los cielos cambiantes.", + description: + "El Tiempo Contigo es una película de animación japonesa dirigida por Makoto Shinkai. La película se lanzó en el año 2019 y es conocida por su hermosa animación y su historia romántica y fantástica. La trama sigue a un joven llamado Hodaka que se muda a Tokio y se encuentra con una chica llamada Hina, que tiene el poder de controlar el clima. Juntos, enfrentan desafíos y descubren el significado de la conexión humana en un mundo donde el clima es impredecible.", + imageUrl: + "https://fesapusewebsite.blob.core.windows.net/fathom/wwy-6489619c29fb58fcfe879a5043a6ed35.jpg", + facts: { + year: 2019, + genre: "Romance · Fantasía", + studio: "CoMix Wave Films", + }, + }, + + { + id: "suzume", + name: "Suzume", + shortDescription: + "Únete a Suzume en un emocionante viaje por Japón para cerrar puertas misteriosas y descubrir su madurez y libertad.", + description: + "Es una película de animación japonesa dirigida por Makoto Shinkai, estrenada en 2022. La historia sigue a Suzume Iwato, una joven de 17 años que descubre una misteriosa puerta en las montañas de Kyushu. Cuando la abre, se desencadenan una serie de desastres en todo Japón. Suzume se embarca en un viaje para cerrar estas puertas y salvar al país. Suzume se enfrenta a desafíos físicos y emocionales a lo largo de su viaje, pero aprende a superarlos con la ayuda de los que conoce en el camino.", + imageUrl: + "https://m.media-amazon.com/images/M/MV5BNGVkNDc3NjUtNTY5ZS00ZmE0LWE3YzctMDk2OTRlNTdiZWQwXkEyXkFqcGdeQXVyMTU3NDg0OTgx._V1_.jpg", + facts: { + year: 2022, + genre: "Fantasía · Aventura", + studio: "Studio Ghibli", + }, + }, + + { + id: "the-first-slam-dunk", + name: "The First Slam Dunk", + shortDescription: + "Acompaña a Ryota Miyagi y su equipo de baloncesto en un emocionante enfrentamiento contra los campeones reinantes en Shohoku.", + description: + "Es una película de animación japonesa sobre un equipo de baloncesto de instituto que se enfrenta al campeón nacional. La película sigue la historia de Hanamichi Sakuragi, un jugador de baloncesto con un pasado turbulento, que se une al equipo de baloncesto de Shohoku para impresionar a Haruko Akagi, una chica que le gusta. Con la ayuda de su amigo y compañero de equipo Ryota Miyagi, Hanamichi aprende a jugar al baloncesto y a convertirse en un mejor jugador. La película es una historia de amistad, superación personal y el poder del baloncesto para unir a las personas.", + imageUrl: + "https://elcomercio.pe/resizer/-vQnh5e9WNzefPT4aNAglKBQ8bQ=/620x0/smart/filters:format(jpeg):quality(75)/cloudfront-us-east-1.images.arcpublishing.com/elcomercio/2URNXYOLONFQPGPXGMJNSGQMBY.webp", + facts: { + year: 2022, + genre: "Deportes", + studio: "Toei Animation", + }, + }, + { + id: "tokyo-godfathers", + name: "Tokyo Godfathers", + shortDescription: + "Acompaña a Hana, Gin, y Miyuki en una travesía inolvidable por las calles de Tokio mientras buscan el significado de la verdadera familia en la víspera de Navidad.", + description: + "Tokyo Godfathers es una película de animación japonesa dirigida por Satoshi Kon, estrenada en 2003. La historia sigue a tres personas sin hogar, Hana, Gin y Miyuki, que encuentran a un bebé abandonado en la víspera de Navidad. Deciden emprender una travesía por las calles de Tokio para reunir al bebé con su familia biológica y, en el camino, descubren el verdadero significado de la familia. A medida que enfrentan desafíos y revelaciones, la película explora temas de redención, perdón y la importancia de los lazos familiares.", + imageUrl: + "https://m.media-amazon.com/images/M/MV5BMTkyNmU2ZjUtNzIwMy00MWRlLWE4ZWQtYzJhYjU0MmUxZjhiXkEyXkFqcGdeQXVyNDgyODgxNjE@._V1_.jpg", + facts: { + year: 2003, + genre: "Drama", + studio: "Madhouse", + }, + }, + { + id: "demon-slayer-mugen-train", + name: "Demon Slayer: Mugen Train", + shortDescription: + "Un grupo de cazadores de demonios aborda un tren infernal en una épica aventura para vencer a un demonio poderoso.", + description: + "Dirigida por Haruo Sotozaki, es una película de anime que continúa la historia de la popular serie Demon Slayer. La trama sigue a Tanjiro Kamado y sus compañeros cazadores de demonios mientras abordan un tren misterioso infestado de demonios. La película ofrece espectaculares secuencias de acción, una animación impresionante y profundiza en los personajes mientras enfrentan desafíos personales y peligros mortales. Mugen Train se convirtió en un fenómeno en Japón y en todo el mundo, estableciendo récords de taquilla y encantando a los fanáticos con su emocionante continuación de la historia de Tanjiro y Nezuko.", + imageUrl: + "https://m.media-amazon.com/images/M/MV5BODI2NjdlYWItMTE1ZC00YzI2LTlhZGQtNzE3NzA4MWM0ODYzXkEyXkFqcGdeQXVyNjU1OTg4OTM@._V1_FMjpg_UX1000_.jpg", + facts: { + year: 2020, + genre: "Acción · Aventura", + studio: "Ufotable", + }, + }, + { + id: "one-piece-film-red", + name: "One Piece Film: Red", + shortDescription: + "Un emocionante concierto en vivo donde la cantante Uta, la más querida del mundo, revela su impactante conexión con Shanks.", + description: + "Es una película de anime de acción y aventura basada en el manga del mismo nombre. La película sigue la historia de Luffy y sus amigos, que se embarcan en una aventura para encontrar a Uta, una cantante de fama mundial que resulta ser la hija de Shanks, el ex capitán de los Piratas de Sombrero de Paja. Uta tiene una voz poderosa que puede unir a las personas, pero también tiene un pasado misterioso que la pone en peligro.", + imageUrl: "https://picfiles.alphacoders.com/557/thumb-557074.jpg", + facts: { + year: 2022, + genre: "Aventura", + studio: "Toei Animation", + }, + }, + ]; \ No newline at end of file diff --git a/src/img/favicon_logo.ico b/src/img/favicon_logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..69b24445bcb4d37adecf9185b01a59f5eff9a3c3 GIT binary patch literal 261950 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 literal 0 HcmV?d00001 diff --git a/src/img/logokaonashi.png b/src/img/logokaonashi.png new file mode 100644 index 0000000000000000000000000000000000000000..a52df48be876b113dc48b89c6ae8e73801d89216 GIT binary patch literal 8693 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 literal 0 HcmV?d00001 diff --git a/src/index.html b/src/index.html index fd6186f2..0dc47ac4 100644 --- a/src/index.html +++ b/src/index.html @@ -2,11 +2,159 @@ - Dataverse Chat - + Kaonashi Pelis + + -
+
+ +

Kaonashi Pelis

+ + + +
+ +

+

+ +
+
+ +
+

+ Devs Emma & Gineth
+ Proyecto Dataverse de Laboratia +

+
+
\ No newline at end of file diff --git a/src/index.js b/src/index.js index a0e2d57c..53009511 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,6 @@ +/*El punto de partida para tu SPA sera el archivo src/index.js. Acá encontrarás algunas + instrucciones y comentarios para guiarte en el inicio del desarrollo de tu aplicación.*/ + // En este archivo definirás tus rutas e importarás los componentes que vas a renderizar. /* diff --git a/src/lib/dataFunctions.js b/src/lib/dataFunctions.js new file mode 100644 index 00000000..05fb934d --- /dev/null +++ b/src/lib/dataFunctions.js @@ -0,0 +1,5 @@ +/*En esta carpeta, crearás módulos que contengan funcionalidades no relacionadas al DOM. +Aquí podrás incluir el archivo dataFunctions.js que contiene las funciones que te +permiten filtrar, ordenar y hacer cálculos agregados. También podrás crear archivos con +las funciones que interactúen con la API de inteligencia artificial o utilidades destinadas + a almacenar datos en el local storage.*/ \ No newline at end of file diff --git a/src/router.js b/src/router.js new file mode 100644 index 00000000..080eb0fb --- /dev/null +++ b/src/router.js @@ -0,0 +1,2 @@ +/*En este archivo vas a manejar el enrutamiento de tu aplicación. Es un archivo que + debes crearlo por tu cuenta. */ \ No newline at end of file diff --git a/src/style.css b/src/style.css new file mode 100644 index 00000000..0522d1a6 --- /dev/null +++ b/src/style.css @@ -0,0 +1,115 @@ +@import url("https://fonts.googleapis.com/css2?family=Hammersmith+One&display=swap"); +@font-face { + font-family: "Bleak Chop"; + src: url("./Bleak\ Chop.ttf"); +} +* { + text-align: center; + margin: 0px; +} +html, +body { + height: 100vh; + position: relative; + overflow-y: scroll; +} +header { + height: 230px; + font-family: "Bleak Chop"; + background-color: #febf4e; + padding-bottom: 40px; +} + + h1 { + font-size: 35px; + color: black; + font-family: "Bleak Chop"; + margin-top: -15px; + letter-spacing: 2px; + } + #logo { + max-height: 180px; + max-width: 180px; + margin-top: 25px; + } + nav { + height: auto; + width: 100%; + background-color: #febf4e; + padding: 10px 0px; + } + /* falta un float*/ + .menuIcon { + width: 30px; + height: 30px; + float: right; + margin: 15px 20px 15px 0px; + display: none; + } + #check { + display: none; + } + input { + font-size: 18px; + text-align: left; + padding: 8px 10px 6px 8px; + margin: 0px 6px 0px 10px; + box-shadow: 3px 3px 3px rgba(132, 132, 132, 0.13); + border: 0; + border-radius: 8px; + outline: none; + } + label { + padding: 5px; + border: none; + font-family: "Hammersmith One", sans-serif; + } + select { + font-size: 18px; + font-family: "Hammersmith One", sans-serif; + background-color: #febf4e; + padding: 6px 10px 6px 10px; + box-shadow: 2px rgba(132, 132, 132, 0.13); + border: 0; + border-radius: 5px; + outline: none; + } + select[name="year"] { + padding: 8px 12px 8px 12px; + } + select:hover { + background-color: #f8b943; + transition: 5ms; + } + /*No funciona + option { + color: #080808; + background-color: #febf4e; + } + option:hover { + background-color: #fe9a4e; + }*/ + button { + font-size: 15px; + font-weight: bold; + border: none; + color: white; + background-color: #c90040; + padding: 8px 10px 8px 10px; + border-radius: 5px; + margin-left: 15px; + } + button:hover { + background-color: rgba(255, 12, 89, 0.902); + } + footer { + font-size: 16px; + position: static; + bottom: 0; + left: 0; + right: 0; + margin-top: 30px; + padding: 20px 20px; + background-color: #febf4e; + font-family: "Hammersmith One", sans-serif; + } \ No newline at end of file diff --git a/src/views/Example.js b/src/views/Example.js index baca4441..1e9a5aa2 100644 --- a/src/views/Example.js +++ b/src/views/Example.js @@ -1,3 +1,8 @@ +/*Esta carpeta generalmente contiene archivos de los componentes que representan las + diferentes páginas o vistas de tu aplicación. Cada vista (view) puede tener su propio + archivo JavaScript, que exporta una función que es responsable de generar los elementos + del DOM. */ + const Example = () => { }; From 78d4ee2d07e90672ff1e84f503cc2769e69fe23b Mon Sep 17 00:00:00 2001 From: Emma Linares Date: Mon, 27 Nov 2023 12:17:39 -0300 Subject: [PATCH 02/30] =?UTF-8?q?Se=20elimin=C3=B3=20la=20carpeta=20IMG,?= =?UTF-8?q?=20y=20se=20cre=C3=B3=20la=20carpeta=20media=20en=20su=20lugar.?= =?UTF-8?q?=20Se=20modific=C3=B3=20el=20title=20a=20Kaonashi=20Movies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.html | 14 +++++++------- src/{img => media}/favicon_logo.ico | Bin src/{img => media}/iconoLupa.png | Bin src/{img => media}/iconoMenu.png | Bin src/{img => media}/logokaonashi.png | Bin 5 files changed, 7 insertions(+), 7 deletions(-) rename src/{img => media}/favicon_logo.ico (100%) rename src/{img => media}/iconoLupa.png (100%) rename src/{img => media}/iconoMenu.png (100%) rename src/{img => media}/logokaonashi.png (100%) diff --git a/src/index.html b/src/index.html index 0dc47ac4..07d9cc0d 100644 --- a/src/index.html +++ b/src/index.html @@ -2,18 +2,18 @@ - Kaonashi Pelis + Kaonashi Movies - +
- -

Kaonashi Pelis

+ +

Kaonashi Movies

`; //template string - const nodoNavB = document.createElement("nav");//Nodo + + + +

+

+
`; //Creates a template string + const nodoNavB = document.createElement("nav");// Creates a Nodo nodoNavB.innerHTML = htmlNav; nodoNavB.classList.add("navComponent"); - return nodoNavB; } - - - diff --git a/src/index.html b/src/index.html index 6a54e1ef..6f78c615 100644 --- a/src/index.html +++ b/src/index.html @@ -9,6 +9,6 @@
- + \ No newline at end of file diff --git a/src/lib/dataFunctions.js b/src/lib/dataFunctions.js index 05fb934d..ad0ab180 100644 --- a/src/lib/dataFunctions.js +++ b/src/lib/dataFunctions.js @@ -1,5 +1,96 @@ -/*En esta carpeta, crearás módulos que contengan funcionalidades no relacionadas al DOM. -Aquí podrás incluir el archivo dataFunctions.js que contiene las funciones que te -permiten filtrar, ordenar y hacer cálculos agregados. También podrás crear archivos con -las funciones que interactúen con la API de inteligencia artificial o utilidades destinadas - a almacenar datos en el local storage.*/ \ No newline at end of file + + +//La función searchByName genera un nuevo array de películas, filtrando la información según el nombre proporcionado. +//Esto se logra a través de tres parámetros de entrada(data, searchBy e input). +export const searchByName = (data, searchBy, input) => { + if (searchBy === "input") { + const filteredDataByName = data.filter((item) => { + return item.name.toLowerCase().includes(input.toLowerCase()); + }); + return filteredDataByName; + } +}; + +//La función filterByGenre devuelve un nuevo arreglo que consiste en las películas que cumplen con los criterios de filtrado por genero. +//Esto se logra a través de tres parámetros de entrada (data, filterBy y value). +export const filterByGenre = (data, filterBy, value) => { + return data.filter((item) => item.facts[filterBy].includes(value)); +}; + +//La función filterByStudio devuelve un nuevo arreglo que consiste en las películas que cumplen con los criterios de filtrado por estudio. +//Esto se logra a través de tres parámetros de entrada (data, filterBy y value). +export const filterByStudio = (data, filterBy, value) => { + return data.filter((item) => item.facts[filterBy].includes(value)); +}; + +//La función filterByYear devuelve un nuevo arreglo que consiste en las películas que cumplen con los criterios de filtrado por año. +//Esto se logra a través de tres parámetros de entrada (data, filterBy y value). +export const filterByYear = (data, filterBy, value) => { + if (data && !isNaN(value)) { + return data.filter((item) => item.facts[filterBy] === Number(value)); + } +}; + +//La función sortData devuelve un nuevo arreglo que consiste en las películas ordenadas según los criterios especificados de filtrado por un campo determinado (sortBy) y en un orden particular (sortOrder). +//Esto se logra a través de tres parámetros de entrada (data, sortBy, sortOrder). +export const sortData = (data, sortBy, sortOrder) => { + const copyData = [...data]; + copyData.sort((a, b) => { + const valueA = a[sortBy]; + const valueB = b[sortBy]; + + if (valueA === valueB) { + return 0; + } + + if (sortOrder === "asc") { + if (valueA < valueB) { + return -1; + } + return 1; + } + + if (sortOrder === "desc") { + if (valueB < valueA) { + return -1; + } + return 1; + } + }); + + return copyData; +}; + +//La función totalMetrics calcula el número de películas que cumplen con la condición de tener studio: "Studio Ghibli" y, además, cuentan con el género "Fantasía" en la propiedad genre +//(con metodo map y template strings) +export const totalMetrics = (data) => { + //La variable countStudioGhibli utiliza el método reduce para calcular el número de películas que cumplen con la condición de tener el estudio "Studio Ghibli". + const countStudioGhibli = data.reduce((accumulator, element) => { + if (element.facts.studio.includes("Studio Ghibli")) { + return accumulator + 1; + } else { + return accumulator; + } + }, 0); + + //La variable countFantasy utiliza el método reduce para calcular el número de películas que cumplen con la condición de tener el género "Fantasía" + const countFantasy = data.reduce((accumulator, element) => { + if (element.facts.genre.includes("Fantasía")) { + return accumulator + 1; + } else { + return accumulator; + } + }, 0); + + const metricsCount = [countStudioGhibli, countFantasy]; + const metricsMap = metricsCount.map((x) => x); + return `Studio Ghibli nos deslumbra con la mayor cantidad de películas en nuestra estadística: ¡un impresionante total de ${metricsMap[0]}! Y no es todo, ¡${metricsMap[1]} de ellas te llevan a mundos de fantasía!`; +}; + +//La función computeStats toma un parámetro (data), calcula y devuelve la cantidad de películas en tiempo real a partir del array de datos proporcionado. +export const computeStats = (data) => { + const numberOfElements = data.reduce((accumulator) => accumulator + 1, 0); + return numberOfElements; +}; + + \ No newline at end of file diff --git a/src/media/error-img.png b/src/media/error-img.png new file mode 100644 index 0000000000000000000000000000000000000000..69b97dc2f1850efaddfbf23a69cf08c91d4fb600 GIT binary patch literal 62295 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�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

|Nhz)~rS(AM^OM2{uYD*i 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 literal 0 HcmV?d00001 diff --git a/src/media/errorImg2.png b/src/media/errorImg2.png new file mode 100644 index 0000000000000000000000000000000000000000..586ab7336ae613094f45240d89594803961da3af GIT binary patch literal 26632 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 MQ{PMv4|k3GKY3|F4gdfE literal 0 HcmV?d00001 diff --git a/src/router.js b/src/router.js index 402f74ce..b4240a95 100644 --- a/src/router.js +++ b/src/router.js @@ -43,8 +43,10 @@ if (ROUTES[pathname]){ export const navigateTo = (pathname, properties = {}) => { // update window history with pushState - const URLvisited = window.location.hostname + pathname; // our Hostname would be localhost:3000 - history.pushState({}, "", URLvisited); + const URLvisited = pathname; // our Hostname would be localhost:3000 + console.log (navigateTo); + history.pushState({}, "", URLvisited); + // render the view with the pathname and props renderView(pathname, properties); } diff --git a/src/style.css b/src/style.css index 59240341..e1b856db 100644 --- a/src/style.css +++ b/src/style.css @@ -4,6 +4,7 @@ src: url("./Bleak\ Chop.ttf"); } * { + text-align: center; margin: 0px; padding: 0px; } @@ -28,12 +29,19 @@ h1 { letter-spacing: 2px; } h2 { - padding: 20px; + padding: 30px; text-align: center; } -h3{ + +.error-img { + display: flexbox; /* Buscar como centrarlo utilizando flexbox*/ + width: 300px; + height: 300px; +} + +h3 { padding: 20px; - text-align: center; + text-align: center; } #logo { max-height: 180px; @@ -44,9 +52,11 @@ h3{ nav { height: auto; width: 100%; - background-color: #e4034a; - padding: 10px 0px; + background-color: #ec004a; + padding: 10px 0px 0px 0px; } + + /* falta un float*/ .menuIcon { width: 30px; @@ -111,9 +121,43 @@ button { margin-left: 15px; } button:hover { - background-color: rgba(249, 238, 242, 0.902); + background-color: rgba(31, 30, 30, 0.902); +} + +p { + width: 100%; + font-size: 17px; + color: rgb(255, 255, 255); + font-family: "Hammersmith One", sans-serif; + padding: 7px 0px; + +} + +.metrics { + height: auto; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + background-color:#ec004a; + padding-bottom: 0px; } +.compute-stats { + font-size: 17px; + color: rgb(255, 255, 255); + text-align: center; + padding: 5px 0px; + background-color: rgb(40, 40, 40); +} +#noResultsFound{ + padding-top: 20px opx; + +} +.chatmss{ + font-size: 17px; + color:#ec004a; + text-align: center; + padding: 5px 0px; +} ul { display: flex; flex-wrap: wrap; @@ -191,10 +235,25 @@ dd[itemprop="year"] { left: 240px; letter-spacing: 1px; } +.apiText{ + color:#010101; +} +#saveApiButton, #clearApiButton{ + font-size: 15px; + font-weight: bold; + border: none; + color: #ece9e2; + background-color: #ec004a; + padding: 8px 10px 8px 10px; + border-radius: 5px; + margin-left: 15px; + +} + footer { color: white; font-size: 20px; - position: static; + /*position: static;*/ bottom: 0; left: 0; right: 0; diff --git a/src/views/apiKey.js b/src/views/apiKey.js index 6581dfc1..d191426a 100644 --- a/src/views/apiKey.js +++ b/src/views/apiKey.js @@ -4,16 +4,22 @@ import { footer } from "../components/footer.js"; export const apiKey = () => { const section = document.createElement("section"); section.appendChild(header()); - section.appendChild(createApiKeyMessage()); + section.appendChild(apiKeyView()); section.appendChild(footer()); return section; }; -export const createApiKeyMessage = () => { - const apiKeyMessageHTML = `

Ingresa tu API Key

`; //template string - const nodoApiKeyElement = document.createElement("h2"); //Nodo - nodoApiKeyElement.innerHTML = apiKeyMessageHTML; - nodoApiKeyElement.classList.add("apiHeading"); +export const apiKeyView = () => { + const apiViewHTML = `

API KEY

+

¡Para interactuar con las péliculas, es necesario que ingreses tu APIKEY!

+ + + `; //template string + const nodoApiView = document.createElement("body"); //Nodo + nodoApiView.innerHTML = apiViewHTML; + nodoApiView.classList.add("apiBody"); - return nodoApiKeyElement; + return nodoApiView; }; diff --git a/src/views/errorPage.js b/src/views/errorPage.js index 70768e29..7310a1d7 100644 --- a/src/views/errorPage.js +++ b/src/views/errorPage.js @@ -1,19 +1,16 @@ -import { header } from "../components/header.js"; -import { footer } from "../components/footer.js"; export const errorPage = () => { const section = document.createElement("section"); - section.appendChild(header()); section.appendChild(createErrorMessage()); - section.appendChild(footer()); return section; }; -export const createErrorMessage = () => { - const errorMessageHTML = `

Page not found

`; //template string - const nodoErrorElement = document.createElement("h2"); //Nodo +const createErrorMessage = () => { + const errorMessageHTML = `

Page not found

`; //template string + const nodoErrorElement = document.createElement("h2"); // crea el nodo nodoErrorElement.innerHTML = errorMessageHTML; nodoErrorElement.classList.add("errorHeading"); return nodoErrorElement; }; + diff --git a/src/views/home.js b/src/views/home.js index 0b455be3..fc7aa2ed 100644 --- a/src/views/home.js +++ b/src/views/home.js @@ -1,42 +1,139 @@ +import {searchByName, filterByGenre, filterByStudio, filterByYear,sortData,totalMetrics,computeStats} from "../lib/dataFunctions.js" import {header} from "../components/header.js" import {navBar} from "../components/nav.js" +import {renderData} from "../components/cards.js" import {footer} from "../components/footer.js" import data from "/data/dataset.js" +import {navigateTo} from "../router.js" +const createChatMessage = () => { + const p = `

!Kaonashi Movies, te permite interactuar con las pelis al hacer click en ellas!

`; //Creates a template string + const nodoP = document.createElement("p");// Creates a Nodo + nodoP.innerHTML = p; + nodoP.classList.add("p"); -// Crearlos como componente (opcional) -const renderData = (data) => { //el ciclo es independiente del html - let htmlCards = ""; - const nodoCards = document.createElement("ul"); // Crea el Nodo - data.forEach((items) => { - htmlCards += `
  • -
    - ${items.name} -
    -
    ${items.facts.studio}
    -
    ${items.name}
    -
    ${items.shortDescription}
    -
    ${items.facts.genre}
    -
    ${items.facts.year}
    -
    -
    -
  • `; //template string - }); - nodoCards.innerHTML = htmlCards;// Convierte el string en un HTML - return nodoCards; -}; + return nodoP; +} export const home = () => { - const section = document.createElement('section'); + let section = document.createElement('section'); section.appendChild(header()); section.appendChild(navBar()); + section.appendChild(createChatMessage()); section.appendChild(renderData(data)); section.appendChild(footer()); + +let cumulativeFilter = data; +let computeStatsContainer = section.querySelector(".compute-stats"); + +//Movie Search Filter +const searchInput = section.querySelector("#inputFilter"); +let noResultsFoundContainer = section.querySelector("#noResultsFound"); +searchInput.addEventListener("input", () => { + const inputSearchValue = searchInput.value.toLowerCase(); + const filteredDataByName = searchByName(data, "input", inputSearchValue); + if (inputSearchValue === "") { + noResultsFoundContainer.textContent = ""; + } else if (filteredDataByName.length === 0) { + noResultsFoundContainer.textContent = "Lo sentimos, no se encontraron resultados que coincidan con la búsqueda."; + } + allCards.innerHTML='' + allCards.appendChild(renderData(filteredDataByName)); + computeStatsContainer.textContent = `Total de películas: ${computeStats(filteredDataByName)}`; + genre.value = ""; + studio.value = ""; + year.value = ""; + console.log(searchInput); +}); + +//Genre filter +const genre = section.querySelector("#genre"); +const allCards = section.querySelector("#allCards"); +genre.addEventListener("change", (e) => { + const genreSelected = e.target.value; + let dataFiltered = filterByGenre(data, "genre", genreSelected); + allCards.innerHTML='' + allCards.appendChild(renderData(dataFiltered)); + computeStatsContainer.textContent = "Total de películas: " + computeStats(cumulativeFilter); + studio.value = ""; + year.value = ""; + console.log(genre); +}); + +//Studio filter +const studio = section.querySelector("#studio"); +studio.addEventListener("change", (e) => { + const studioSelected = e.target.value; + cumulativeFilter = filterByStudio(data, "studio", studioSelected); + allCards.innerHTML='' + allCards.appendChild(renderData(cumulativeFilter)); + computeStatsContainer.textContent = "Total de películas: " + computeStats(cumulativeFilter); + genre.value = ""; + year.value = ""; + console.log(studio); +}); + + +//Filtro por año +const year = section.querySelector("#year"); +year.addEventListener("change", (e) => { + const yearSelected = e.target.value; + cumulativeFilter = filterByYear(data, "year", yearSelected); + allCards.innerHTML='' + allCards.appendChild(renderData(cumulativeFilter)); + computeStatsContainer.textContent = "Total de películas: " + computeStats(cumulativeFilter); + genre.value = ""; + studio.value = ""; +}); + +//Ordenamiento ascendente y descendente +const order = section.querySelector("#orden-alfabetico"); +order.addEventListener("change", (e) => { + const selectedOrder = e.target.value; + cumulativeFilter = sortData(cumulativeFilter, "name", selectedOrder); + allCards.innerHTML='' + allCards.appendChild(renderData(cumulativeFilter)); + computeStatsContainer.textContent = "Total de películas: " + computeStats(cumulativeFilter); +}); + +//Restablece los valores de los selectores, el campo de búsqueda y los contenedores relacionados con la búsqueda + +const clearButton = section.querySelector("#button"); +clearButton.addEventListener("click", function () { + const filterSelectors = section.querySelectorAll("select"); + const searchInputField = section.querySelector('[name="searchButton"]'); + filterSelectors.forEach((selector) => { + selector.value = selector.options[0].value; + searchInputField.value = ""; + noResultsFoundContainer.innerHTML = '' + cumulativeFilter = data; + allCards.innerHTML='' + allCards.appendChild(renderData(cumulativeFilter)); + computeStatsContainer.textContent ="Total de películas: " + computeStats(cumulativeFilter); + }); +}); + +//Estadística: Dinámicamente modifica el contenido HTML de un elemento computeStatsContainer para mostrar el número total de películas calculado por la función computeStats +computeStatsContainer.textContent = "Total de películas: " + computeStats(cumulativeFilter); + +//Estadística: Estudio con mayor cantidad de películas y el género que sobresale notablemente +const metricsContainer = section.querySelector(".metrics"); +const totalMetricsElement = document.createElement("p"); +totalMetricsElement.textContent = totalMetrics(data); +metricsContainer.appendChild(totalMetricsElement); + + + +const chatButton = section.querySelector("#chat"); +const apiKeyButton = section.querySelector("#apiKey"); +chatButton.addEventListener("click", () => navigateTo("/panel")); +apiKeyButton.addEventListener("click", () => navigateTo("/apiKey")); + return section; }; - //nodoCards.appendChild(data()); - //nodoCards.classList.add("ul"); - //nodoCards.appendChild(htmlCards); - //return nodoCards; + + + + From 6bdabee70726d122f5cf86517971ac0baa1342ef Mon Sep 17 00:00:00 2001 From: CB97103 Date: Tue, 12 Dec 2023 20:04:37 -0500 Subject: [PATCH 29/30] Cambios CSS --- src/components/nav.js | 25 ++++--- src/lib/dataFunctions.js | 7 +- src/router.js | 84 +++++++++++------------ src/style.css | 143 +++++++++++++++++++++++++++++++++------ src/views/home.js | 27 +++----- 5 files changed, 194 insertions(+), 92 deletions(-) diff --git a/src/components/nav.js b/src/components/nav.js index df33c5f8..64482e6b 100644 --- a/src/components/nav.js +++ b/src/components/nav.js @@ -1,13 +1,14 @@ - - export const navBar = () => { - const htmlNav = `